J'utilise le Python ExecFile () Code> Fonction comme un moyen simple mais flexible de manipuler des fichiers de configuration - essentiellement, l'idée est la suivante:
foo = {}
eval('from BarModule import *', foo)
execfile(filename, foo)
3 Réponses :
Peut-être que vous pouvez utiliser le __ dict __ code> défini par le module.
La solution typique consiste à utiliser getattr:
Utilisez le bâtiment vars () code>
fonction pour obtenir le attributs d'un objet (tel qu'un module) comme dict. p>
Je ne dépose pas EvalFile Exist; voulez-vous dire exécutant?
L'utilisation d'EVAL n'est pas l'idée évidente IMO, car Python fait une distinction entre expressions et déclarations. EVAL peut évaluer une expression (E.G.
EVAL ('2 + 2') CODE>), Exec est pour les instructions (E.G.
EXEC 'A = 2 + 2' CODE>). L'importation est une déclaration.
@ Éricaraujo: Je voulais dire exécutant, oui; Edits faits.