#Module variable
1 messages · Page 1 of 1 (latest)
from script1 import ta_variable
Ah
module = __import__(maVar)
Ça fait en gros import maVar as module (qui ne marche pas)
Pour le from maVar import *, je regarde ce que je peux faire
module = __import__(maVar)
for item in dir(module):
globals()[item] = getattr(module, item)
Ça devrait faire ce que tu veux
Mais je ne sais pas s'il y a plus optimisé (je n'ai pas regardé sur Internet)
Tu peux vouloir remplacer globals() par locals() si tu veux définir le module uniquement dans le contexte actuel : avec globals(), si tu l'utilises dans une fonction, tu pourras aussi accéder au module importé à l'exterieur de cette fonction, alors qu'avec locals(), l'import ne sera effectif que dans le contexte de cette fonction
L'avantage d'utiliser globals() est que justement, tu peux faire une fonction pour importer
Genre ```python
def import_module_by_name(name):
module = import(maVar)
for item in dir(module):
globals()[item] = getattr(module, item)
import_module_by_name("math")
``` ne sera valide qu'avec globals() (dans l'exemple, ça fait même effet que from math import *)
oh merci beaucoup
on peut importer un script en tant que module (from script1 import *). Cependant j aimerai pouvoir faire en sorte d importer une variable a la place du nom. Par exemple: