Sauvegarder toutes les variables
Résolu/FerméPr.Witherfire Messages postés 79 Date d'inscription samedi 5 novembre 2022 Statut Membre Dernière intervention 25 février 2023 - 10 déc. 2022 à 18:18
- Sauvegarder toutes les variables
- Comment sauvegarder toutes les données de mon téléphone - Guide
- Sauvegarder favoris chrome - Guide
- Sauvegarder sms iphone - Guide
- Sauvegarder favoris firefox - Guide
- Sauvegarder sms - Guide
7 réponses
10 déc. 2022 à 14:13
bonjour,
tu veux également recréer ensuite ces variables?
10 déc. 2022 à 14:14
Oui les réimporter ensuite
10 déc. 2022 à 15:05
Un exemple de programme qui sauve ses variables globales:
import pickle def sauvonstout(): globs=list(globals()) saved=[] for v in globs: d=globals()[v] t=(str(type(d))) if t != "<class 'module'>" and t !="<class 'function'>": saved.append((v,pickle.dumps(d))) bytessaved=pickle.dumps(saved) fil=open("saved.yg","wb") fil.write(bytessaved) fil.close() a=1234567 sauvonstout()
et un exemple de récupération:
import pickle def restore(pb): b=pickle.loads(pb) for n,p in b: v=pickle.loads(p) globals()["yg"+n]=pickle.loads(p) fil=open("saved.yg","rb") pb=fil.read() restore(pb) print(yga)
10 déc. 2022 à 15:13
Ok merci beaucoup
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question10 déc. 2022 à 16:53
En fait, j'ai testé et pour la récup, ça me dit
"C:\Program Files\Python311\python.exe" C:\Users\Pr.Witherfire\PycharmProjects\pickle2\main.py
Traceback (most recent call last):
File "C:\Users\Gwenneg\PycharmProjects\pickle2\main.py", line 8, in <module>
fil=open("C:\saved.yg","rb")
^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: 'C:\\saved.yg'
Process finished with exit code 1
Bonsoir, il est évident que tu n'as pas dû sauvegarder dans le répertoire où tu souhaites le récupérer, c'est une raison pour laquelle on utilise des chemins absolus par rapport où se situe notre script, de plus yb_ge t'a montré un exemple, il ne faut pas sauvegarder tout ce qu'il y a dans globals ! Car cela enregistrera aussi les modules chargés etc.
10 déc. 2022 à 17:19
SI c'est par rapport à l'endroit où se trouve le script, alors c'est relatif, pas absolu.
10 déc. 2022 à 17:42
Non, bien absolu du répertoire courant du script depuis la racine système de façon à pouvoir lancer le script depuis n'importe quel endroit du système de fichiers.
10 déc. 2022 à 17:49
absolu, donc pas par rapport où se situe notre script.
Modifié le 10 déc. 2022 à 18:36
Merci mais comment dois-je faire dans ce cas, si je ne peux pas utiliser global s?
EDIT : nan c'est bon j'ai compris comment merci.