J'ai un fichier de démonstration: test.py
. Dans la console Windows, je peux exécuter le fichier avec: C:\>test.py
Comment puis-je exécuter le fichier dans le shell Python?
Si vous souhaitez exécuter le script et terminer par une invite (vous pouvez donc inspecter les variables, etc.), utilisez:
python -i test.py
Cela exécutera le script puis vous déposera dans un interpréteur Python.
Cela dépend de ce qui est dans test.py
. Ce qui suit est une structure appropriée:
# suppose this is your 'test.py' file
def main():
"""This function runs the core of your program"""
print("running main")
if __== "__main__":
# if you call this script from the command line (the Shell) it will
# run the 'main' function
main()
Si vous conservez cette structure, vous pouvez l'exécuter comme ceci en ligne de commande (supposons que $
est votre invite de ligne de commande):
$ python test.py
$ # it will print "running main"
Si vous voulez l'exécuter à partir du shell Python), procédez comme suit:
>>> import test
>>> test.main() # this calls the main part of your program
Il n’est pas nécessaire d’utiliser le module subprocess
si vous utilisez déjà Python. Essayez plutôt de structurer vos fichiers Python de manière à pouvoir être exécutés à partir de la ligne de commande et de l’interprète Python.
Pour les nouvelles versions de python:
exec(open(filename).read())
Dans le même dossier, vous pouvez faire:
import test
Si vous voulez éviter d'écrire tout cela à chaque fois, vous pouvez définir une fonction:
run = lambda filename : exec(open(filename).read())
et ensuite l'appeler
run('filename.py')