it-swarm.it

eseguire il programma in Python

Ho un file demo: test.py. Nella console di Windows posso eseguire il file con: C:\>test.py

Come posso eseguire il file in Python Shell invece?

43
daniel__

Usa execfile per Python 2 :

>>> execfile('C:\\test.py')

Usa exec per Python 3

>>> exec(open("C:\\test.py").read())
89
phihag

Se vuoi eseguire lo script e terminare con un Prompt (in modo da poter controllare le variabili, ecc.), Allora usa:

python -i test.py

Questo eseguirà lo script e poi ti farà cadere in un interprete Python.

38
Chris Phillips

Dipende da cosa c'è in test.py. La seguente è una struttura appropriata:

# 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()

Se mantieni questa struttura, puoi eseguirla in questo modo nella riga di comando (supponi che $ è il prompt della riga di comando):

$ python test.py
$ # it will print "running main"

Se si desidera eseguirlo dalla shell Python, fare semplicemente quanto segue:

>>> import test
>>> test.main() # this calls the main part of your program

Non è necessario utilizzare il modulo subprocess se si sta già utilizzando Python. Invece, prova a strutturare i tuoi file Python in modo tale che possano essere eseguiti sia dalla riga di comando che dall'interprete Python.

14
Escualo

Per la versione più recente di Python:

exec(open(filename).read())
6
Victor

Dalla stessa cartella, puoi fare:

import test
2
Brendan Long

Se vuoi evitare di scrivere tutto questo ogni volta, puoi definire una funzione:

run = lambda filename : exec(open(filename).read())

e poi chiamalo

run('filename.py')
2
Hugo Trentesaux