it-swarm.cn

在Python shell中运行程序

我有一个演示文件:test.py。在Windows控制台中,我可以使用C:\>test.py运行文件。

如何在Python Shell中执行文件?

43
daniel__

execfile 用于Python 2

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

exec 用于Python 3

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

如果要运行脚本并以提示结尾(以便可以检查变量等),请使用:

python -i test.py

这将运行脚本,然后将您放入Python解释器。

38
Chris Phillips

这取决于test.py中的内容。以下是适当的结构:

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

如果保留此结构,则可以在命令行中按以下方式运行它(假设$是您的命令行提示符):

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

如果要从Python Shell运行它,则只需执行以下操作:

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

如果您已经在使用Python,则无需使用subprocess模块。相反,请尝试以可以从命令行和Python解释器运行的方式来构建Python文件。

14
Escualo

对于较新版本的python:

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

在同一文件夹中,您可以执行以下操作:

import test
2
Brendan Long

如果您想避免每次都写所有这些,可以定义一个函数:

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

然后叫它

run('filename.py')
2
Hugo Trentesaux