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é.
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é.
>>> 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.
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 votrePYTHONPATH
) 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 avecimport cheddar
, l'accès à la variablecheddar.spam
et l'exécution de la fonction en appelantcheddar.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.
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 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.