J'ai actuellement un fichier python avec un tas de variables globales avec des valeurs. Je veux changer ces valeurs de façon permanente à partir d'un script python séparé. J'ai essayé setattr et tel mais il ne semble pas fonctionner. Y a-t-il un moyen de faire cela?comment modifier une valeur de variable dans un fichier python à partir d'un script python
Répondre
La réponse courte est: ne pas. Cela ne vaudra pas la peine.
Il semble que vous essayez de créer un fichier de configuration, puis que votre application le mette à jour. Vous devriez essayer d'utiliser ConfigParser, un module intégré qui peut lire et écrire pour vous des fichiers de configuration sans trop limitée: http://docs.python.org/library/configparser.html
currently have a python file with a bunch of global variables with values
Feignons ça ressemble à ça. globals.py
this = 1
that = 2
Et il n'y a rien d'autre dans ce fichier. Rien.
Supposons en outre que ce fichier est utilisé comme suit.
from globals import *
Let de plus prétendre que nous avons une simulation qui doit "mettre à jour" globals.py
import os
os.rename("globals.py", "globals.bak")
with open("globals.py", "w") as target:
for variable in ('some', 'list', 'of', 'sensible', 'globals'):
target.write("{0!s} = {1!r}".format(variable, globals()[variable])
Fondamentalement, vous recréez le code Python de votre dictionnaire global.
Ceci est une solution épouvantable. S'il vous plaît ne l'utilisez pas réellement.
J'ai créé les fichiers python pertinents avec votre code ci-dessus pour le tester et j'obtiens cette erreur: python test.py Traceback (appel le plus récent en dernier): Fichier "test.py", ligne 7, en
Oui. Vous faites quelque chose de mal. Vous tapez sans réfléchir. Parfois le code posté a des erreurs. Vous devez réfléchir pendant une seconde avant de taper pour voir si vous comprenez le code. –
Peut-être que je ne comprends pas assez bien Python puisque je suis relativement nouveau à ce sujet? J'ai tapé votre code, réfléchi, attrapé les parens manquants à la fin. Mais je pensais que les globals (avant votre modification) se référaient au fichier ou peut-être à une variable python intégrée. En tout cas, merci pour votre solution. J'essayais à la fois le vôtre et celui de @ carl. – lango
- 1. retourner une valeur à un programme C# par script python
- 2. Comment lancer un script python à partir de Java?
- 3. Persistant valeur variable Python
- 4. Modifier les commentaires du fichier .RAR à partir de python
- 5. appelez un script python côté serveur à partir de javascript
- 6. Clarifications sur un fichier de script python
- 7. Sortie de script Python interactif stockée dans un fichier
- 8. Lecture de valeurs à partir d'un fichier et affectation à une variable dans un script batch
- 9. Extraction de données à partir d'un fichier texte à utiliser dans un script python?
- 10. comment entrer une variable dans un script python lors de l'ouverture de l'invite cmd?
- 11. Exécution d'un script python à partir d'ArcMap
- 12. Télécharger un fichier via un script python
- 13. Puis-je trouver le chemin de l'exécutable exécutant un script python à partir du script python?
- 14. Modifier un fichier XML en Python
- 15. Comment appeler un script python dans un fichier jar en utilisant python?
- 16. Comment exécuter un AppleScript à partir d'un script Python?
- 17. python lier un type à une variable
- 18. Modifier un fichier csv en Python
- 19. Comment transmettre une variable Python à Bash?
- 20. Démarrer un script python en tant que processus d'arrière-plan à partir d'un script python
- 21. débit croissant dans un script python
- 22. script Python lecture d'un fichier csv
- 23. sqlalchemy dans un seul fichier de script python
- 24. Appel d'un script python à partir d'un fichier makefile dans un autre répertoire
- 25. Exécuter un script python distant à partir d'ASP.Net
- 26. python: insertion d'une valeur de variable dans un nom de variable
- 27. Comment accéder à une variable globale Python à partir de C?
- 28. créer un fichier .mat à partir de python
- 29. python pour modifier la variable portée actuelle
- 30. Python: annexant une variable à Popen
Voulez-vous dire que vous voulez réellement modifier le script d'un script différent? – alternative
Je me demande si la bibliothèque standard a la capacité d'analyser un fichier source Python en mémoire, le modifier, puis écrire un fichier? –
Votre autre question est hors-sujet. S'il vous plaît ** ne le mentionnez pas ici **. Veuillez supprimer la référence à une "autre question". S'il vous plaît se concentrer. –