En python, vous pouvez faire quelque chose comme ceci pour importer un module en utilisant un nom de fichier de chaîne, et assigner son espace de noms à une variable sur l'espace de noms local.Python, importer une chaîne de code Python en tant que module
x = __import__(str)
Je me demande s'il y a une fonction connexe qui prendra une chaîne de caractères de code Python, au lieu d'un chemin vers un fichier avec le code Python, et retourne son espace de noms comme une variable.
Par exemple,
str = "a = 5";
x = importstr(str)
print x.a
#output is 5
Je me rends compte que je pouvais écrire la chaîne dans un fichier, puis utilisez __import__
là-dessus, mais je voudrais sauter le fichier intermédiaire si possible.
La raison en est que j'expérimente avec la métaprogrammation en python, et cela semble être une bonne solution à ce que je fais.
Oui, juste du bon côté. –
hrm ... eu ma première downvote avec cette réponse et je ne sais pas pourquoi? –
@JeremyBrown juste la chose que je cherchais. Comme je l'ai voté, considérer le vote vers le bas défait;) –