Problème de pickle. Aidez-moi SVP !

Fermé
Vivin1205 Messages postés 31 Date d'inscription mardi 24 janvier 2017 Statut Membre Dernière intervention 21 mai 2017 - 2 févr. 2017 à 21:12
Vivin1205 Messages postés 31 Date d'inscription mardi 24 janvier 2017 Statut Membre Dernière intervention 21 mai 2017 - 7 févr. 2017 à 21:59
Bonjour, je vous explique la situation:
J'ai un fichier dans lequel s'éxécute le code principal. Et j'ai un deuxième fichier qui contient des listes.
Ce que je voudrai faire c'est importer les listes et les modifier depuis le fichier du code principal.Sauf que je n'arrive pas car une erreur se produit quand je veux load mon depickler:



with open ('listes.py', 'rb') as listes:
depickleur=pickle.Unpickler (listes)
listes=depickleur.load()


Après éxécution de ce code, voici la réponse que me donne Python:
_pickle.UnpicklingError: could not find MARK
Et donc je n'ai pas trouvé de solutions.

3 réponses

dsy73 Messages postés 9252 Date d'inscription dimanche 22 août 2010 Statut Contributeur Dernière intervention 23 octobre 2020 2 476
5 févr. 2017 à 11:27
Salut, un problème d'offset ?
https://stackoverflow.com/questions/35879096/pickle-unpicklingerror-could-not-find-mark

Sinon donne-nous le code complet.
0
Vivin1205 Messages postés 31 Date d'inscription mardi 24 janvier 2017 Statut Membre Dernière intervention 21 mai 2017
5 févr. 2017 à 20:22
Voila le code principal:


import os­
import pickle­
with open ('listes.py­', 'rb') as listes:
listes.seek(0)­
depickleur=pickle­.Unpickler (dictionna­ires)
depickleur.load()
from random import ch­oice
hasard=choice (liste_­mots_bienvenue + list­e_mots_questions)
nom_intell=input ("Bo­njour, donnez un nom ­à votre ami ! ")
mot_recu=input ("Ok, ­après ces quelques qu­estions, vous pourrez­ parler à " + nom_int­ell + " ")
mot_recu=str(mot_recu­)
nom_utilisateur=input­ ("Comment vous appel­lez-vous ? ")
nom_utilisateur=str(n­om_utilisateur)
print ("D'accord")­
permission_vous=input­ ("Si vous le voulez ­bien, on peut se tuto­yer ? ")
permission_vous=str(p­ermission_vous)
if permission_vous=="­oui" or "Oui":
age_utilisateur=i­nput ("OK, "+ nom_uti­lisateur + " du coup ­t'as quel âge ? ")
age_utilisateur=i­nt(age_utilisateur)
elif permission_vous=­="non" or "Non":
age_utilisateur2=­input ("OK, quel âge ­avez-vous ?")
else:­
print ("Répondez ­correctement SVP !")
print (hasard)­
os.system("pause")­
0
dsy73 Messages postés 9252 Date d'inscription dimanche 22 août 2010 Statut Contributeur Dernière intervention 23 octobre 2020 2 476 > Vivin1205 Messages postés 31 Date d'inscription mardi 24 janvier 2017 Statut Membre Dernière intervention 21 mai 2017
6 févr. 2017 à 04:43
Donc pas de pb d'offset ?
Code à formater.
0
Vivin1205 Messages postés 31 Date d'inscription mardi 24 janvier 2017 Statut Membre Dernière intervention 21 mai 2017
6 févr. 2017 à 08:52
que veux tu dire par formater ?

--
0
dsy73 Messages postés 9252 Date d'inscription dimanche 22 août 2010 Statut Contributeur Dernière intervention 23 octobre 2020 2 476
7 févr. 2017 à 03:26
Tu vois bien que ton code ne peut pas être exécuté par Python, il n'y a aucune indentation.
Regarde les boutons de l'éditeur de message du forum, il y a un bouton pour insérer du code.
0
Vivin1205 Messages postés 31 Date d'inscription mardi 24 janvier 2017 Statut Membre Dernière intervention 21 mai 2017
7 févr. 2017 à 07:15
Sur mon pc, il y a les indentations.C'est juste qu'elles ont disparus quand j'ai copié collé le mail que je me suis envoyé.(je suis sur mobile)

--
0
Vivin1205 Messages postés 31 Date d'inscription mardi 24 janvier 2017 Statut Membre Dernière intervention 21 mai 2017
7 févr. 2017 à 21:59
Impossible de mettre les indentations même en ajoutant du code...
0