Problème de pickle. Aidez-moi SVP !

Vivin1205 Messages postés 26 Date d'inscription   Statut Membre Dernière intervention   -  
Vivin1205 Messages postés 26 Date d'inscription   Statut Membre Dernière intervention   -
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

  1. dsy73 Messages postés 9003 Date d'inscription   Statut Contributeur Dernière intervention   2 547
     
    Salut, un problème d'offset ?
    https://stackoverflow.com/questions/35879096/pickle-unpicklingerror-could-not-find-mark

    Sinon donne-nous le code complet.
    0
    1. Vivin1205 Messages postés 26 Date d'inscription   Statut Membre Dernière intervention  
       
      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
      1. dsy73 Messages postés 9003 Date d'inscription   Statut Contributeur Dernière intervention   2 547 > Vivin1205 Messages postés 26 Date d'inscription   Statut Membre Dernière intervention  
         
        Donc pas de pb d'offset ?
        Code à formater.
        0
  2. Vivin1205 Messages postés 26 Date d'inscription   Statut Membre Dernière intervention  
     
    que veux tu dire par formater ?

    --
    0
    1. dsy73 Messages postés 9003 Date d'inscription   Statut Contributeur Dernière intervention   2 547
       
      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
  3. Vivin1205 Messages postés 26 Date d'inscription   Statut Membre Dernière intervention  
     
    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
    1. Vivin1205 Messages postés 26 Date d'inscription   Statut Membre Dernière intervention  
       
      Impossible de mettre les indentations même en ajoutant du code...
      0