Modifier un objet dans un fichier
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 :
Code:
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() |
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.
Pour savoir s'il existe ou non on peut faire les instructions suivantes :
Code:
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() |
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é.
J'espère que vous pourrez m'aider afin de savoir comment contourner ce problème.
Merci par avance.