Comment enregistrer les données dans python ?

Tigrekhalil Messages postés 3 Statut Membre -  
[Dal] Messages postés 6122 Date d'inscription   Statut Contributeur Dernière intervention   -
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.

1 réponse

  1. [Dal] Messages postés 6122 Date d'inscription   Statut Contributeur Dernière intervention   1 108
     
    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