Bonjour.
J'aimerais vous demander comment je pourrais modifier un objet enregistré dans un fichier. Je crée avec le module pickle un fichier joueurs pour stocker les noms des joueurs grâce aux instructions :
Mais après j'ai besoin de savoir si le joueur est nouveau sur le jeu ou il est déjà enregistré, et dans le cas où il est nouveau je dois l'enregistrer.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 f=open("joueurs","wb") p=pickle.Pickler(f) p.dump(["*"]) #J'ai mis "*" juste pour éviter qu'il y ait des problèmes si la liste est vide. f.close()
Pour savoir s'il existe ou non on peut faire les instructions suivantes :
Mais dans le cas où le joueur est nouveau, je veux l'enregistrer dans la liste seulement je ne sais quoi faire. Sachant que si je modifie la liste_des_joueurs alors ce n'est que la référence que je modifie puisque la vraie donnée n'est accessible qu'on écriture, et qu'après rien n'est enregistré.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 j=input("Entrez votre nom") f=open("joueurs","rb") u=pickle.Unpickler(f) liste_des_joueurs=u.load() if j in liste_des_joueurs: print("Le joueur est déjà existant") else: print("Le joueur est nouveau") f.close()
J'espère que vous pourrez m'aider afin de savoir comment contourner ce problème.
Merci par avance.
Partager