Bonjour,
Il y a des tas de solutions pour faire ça. Voilà ce que je fais assez souvent:
Principe: les données de l'utilisateur sont conservées dans un fichier qui se trouve dans son "home". De ce fait, si un autre utilisateur ouvre une cession sur le même PC, il pourra avoir d'autres données.
Le "home" utilisateur (son répertoire perso) est donné par:
rephome = os.path.expanduser('~')
Cette façon de trouver le répertoire utilisateur est multiplateforme. La réponse sous Windows pourra être "C:\Users\utilisateur" et sous Linux "/home/utilisateur"
Ensuite, les données sont dans un fichier de type "ini" qu'on peut fabriquer avec le module Python "configparser" (https://docs.python.org/3/library/co...e-configparser).
Il suffit lors de l'exécution du programme de lire ce fichier s'il existe, et si oui de prendre en compte les données utilisateur au lieu des données par défaut. A la fin du programme, il suffira d'enregistrer (automatiquement ou sur demande) les données courantes dans ce fichier en le créant s'il n'existe pas encore.
Sous Linux, ce genre de fichier est couramment un fichier caché, c'est à dire dont le nom est précédé par un point. Mais ce n'est pas indispensable et Windows n'aime pas beaucoup ça.
Selon les cas, on peut soit n'avoir qu'un seul fichier dans le home utilisateur, soit avoir un répertoire dans lequel on peut mettre tout ce qu'on veut qui soit spécifique à la configuration utilisateur.
Au lieu d'un fichier de type "ini" on peut avoir d'autres solutions de stockage: shelve, pickle et pourquoi pas une base de données sqlite3. Le grand avantage des fichiers de type "ini" est qu'on peut les modifier avec un simple éditeur de texte en dehors du programme.
Partager