Menu

Comment enregistrer les données dans python ? [Fermé]

Messages postés
2
Date d'inscription
mercredi 7 janvier 2015
Statut
Membre
Dernière intervention
28 juin 2018
- - Dernière réponse : [Dal]
Messages postés
5169
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
18 juillet 2019
- 29 juin 2018 à 09:51
je veux ajouter une variable"b" à une liste "a" et que cette variable reste enregistrée même quand je ferme le programme et je rouvre. c'est à dire qu'à chaque fois que je réinitialise le programme la variable reste comme élément dans la liste.
a=[]
b=input("quel est votre nom?")
while b in a:
    print("nom déjà utilisé.")
    b=input("quel est votre nom?")
else:
    a.append(b)

que dois je écrire après pour qu' à chaque fois "b" s'ajoute à la liste "a" et ça reste pour toujours même si je ferme le programme. comme si j'ai créé un tinyDB .et merci d'avance.
Afficher la suite 

1 réponse

Messages postés
5169
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
18 juillet 2019
785
0
Merci
Salut Tigrekhalil,

Tu devrais utiliser le module de sérialisation "pickle" de Python.

Sa fonction est de permettre la sauvegarde dans un format propre à Python, et la récupération commode des objets Python dont la sauvegarde est supportée.

Les listes sont, bien sûr, supportées :

https://docs.python.org/3/library/pickle.html#what-can-be-pickled-and-unpickled

exemple :

import pickle

# constitution d'une liste et sauvegarde
a = ['toto', 'titi', 'tutu']
with open('sauvegarde.pickle', 'wb') as fich:
    pickle.dump(a, fich)

# récupération des données sauvegardées
# dans une liste vierge
b = []
with open('sauvegarde.pickle', 'rb') as fich:
    b = pickle.load(fich)

Dal