Bonjour, je ne suis pas très expérimenté en Python et je cherche à faire un outil de pilotage de calcul.
Pour cela j'ai besoin de définir un tas de paramètres dans mon script principal, puis de les utiliser plus loin dans des modules/packages etc...
j'ai donc un script principal qui resemble à:
et un fichier parameter:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 opt_toto=450 import parameter opt_titi=10 parameter.printParam()
ce code un problème de taille:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 from __main__ import * def printParam(): print("\nVariables list") var=globals() for pre in _allowed_prefix: for key in var.keys(): if not key.startswith(pre): continue if type(var[key]==str): outstr=str(key)+'="'+str(var[key])+'"' else: outstr=str(key)+"="+str(var[key]) print(outstr)
il m'affiche bien la valeur de 'opt_toto' mais pas celle de 'opt_titi'.
de plus si je modifie la valeur de opt_toto après le import, il n'y a pas de mise à jour.
quel est le moyen d’accéder à ces variables?
pour aller plus loin:
en gros, ce premier script est un script qui sera écrit par un utilisateur, il doit être le plus simple possible d'où une écriture directe des variables (pas de 'setParam' par exemple) et l'idée c'est de faire tous les imports au début de ce script, les variables sont définies après.
Merci pour vos réponses!
Partager