387 votes

Comment exécuter un fichier dans l'interpréteur python?

J'essaie d'exécuter un fichier avec des commandes python depuis l'interpréteur.

EDIT: J'essaie d'utiliser des variables et des paramètres de ce fichier, pas pour invoquer un processus séparé.

336voto

S.Lott Points 207588

Plusieurs façons.

De la coquille

 python someFile.py
 

De l'intérieur IDLE, appuyez sur F5 .

Si vous tapez de manière interactive, essayez ceci.

 >>> variables= {}
>>> execfile( "someFile.py", variables )
>>> print variables # globals from the someFile module
 

276voto

codeape Points 38576
 >>> execfile('filename.py')
 

Voir la documentation . Si vous utilisez Python 3.0, consultez cette question .

Voir la réponse de @ S.Lott pour un exemple de la façon dont vous accédez aux globales à partir de filename.py après son exécution.

32voto

mikl Points 5906

Je suis en train d'utiliser des variables et des paramètres de ce fichier, de ne pas invoquer un processus distinct.

Eh bien, il suffit d'importer le fichier avec l' import filename (moins .py, doit être dans le même répertoire ou sur votre PYTHONPATH) exécutera le fichier, faire ses variables, fonctions, classes, etc. disponible dans l' filename.variable d'espace de noms.

Donc, si vous avez cheddar.py avec la variable de spam et de la fonction des œufs, vous pouvez les importer avec import cheddar, l'accès à la variable cheddar.spam et l'exécution de la fonction en appelant cheddar.eggs()

Si vous avez le code en cheddar.py qui est en dehors d'une fonction, il sera exécuté immédiatement, mais de construire des applications qui exécute des trucs sur l'importation va faire du mal à réutiliser votre code. Si possible, mettre le tout à l'intérieur de fonctions ou de classes.

8voto

carlos e orozco Points 11

Je ne suis pas un expert mais c'est ce que j'ai remarqué:

Si votre code est par exemple mycode.py et que vous tapez simplement "import mycode", Python l'exécutera, mais toutes les variables ne seront pas disponibles pour l'interpréteur. J'ai trouvé que vous devriez taper réellement "from mycode import *" si vous voulez rendre toutes les variables disponibles à l'interpréteur.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X