Comment enregistrer les données dans python ?

Fermé
Tigrekhalil Messages postés 2 Date d'inscription mercredi 7 janvier 2015 Statut Membre Dernière intervention 28 juin 2018 - 28 juin 2018 à 16:47
[Dal] Messages postés 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 - 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.
A voir également:

1 réponse

[Dal] Messages postés 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 1 083
Modifié le 29 juin 2018 à 09:52
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
0