exécuter le programme en interpréteur de commandes Python
j'ai un fichier de démonstration: test.py
.
Dans la Console Windows, je peux exécuter le fichier: C:>test.py
Comment puis-je exécuter le fichier dans le Shell Python à la place?
6 réponses
si vous voulez lancer le script et terminer à une invite (pour pouvoir inspecter les variables, etc), alors utilisez:
python -i test.py
qui exécutera le script et 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 __name__ == "__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 dans la 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 de l'interpréteur de commandes Python, faites simplement ce qui suit:
>>> import test
>>> test.main() # this calls the main part of your program
il n'est pas nécessaire d'utiliser le subprocess
module si vous utilisez déjà Python. Au lieu de cela, essayez de structurer vos fichiers Python de telle manière qu'ils puissent être exécuté depuis la ligne de commande et l'interpréteur Python.
pour la nouvelle version de python:
exec(open(filename).read())
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')