是否有可能在处于交互模式时执行Python脚本

len*_*key 51 python interactive mode

通常,您可以执行Python脚本,例如:python myscript.py,但如果您处于交互模式,那么如何在文件系统上执行Python脚本?

>>> exec(File) ???
Run Code Online (Sandbox Code Playgroud)

应该可以多次执行脚本.

fn.*_*fn. 42

使用execfile('script.py'),但它只适用于python 2.x,如果你使用的是3.0,试试这个

  • 对于我的人(懒惰者),“这个”链接将带您到: exec(open("./filename").read()) (3认同)

ric*_*cho 32

import file没有.py扩展名会做,但__name__不会是"__main__"这样,如果脚本做任何检查,看它是否被交互运行,您需要绕过它们.

或者,如果您想在脚本运行后查看环境,请尝试 python -i script.py

编辑:再次加载它

file = reload(file)

  • `或者,如果您想在脚本运行后查看环境,请尝试python -i script.py`这是史诗般的谢谢! (7认同)

Tho*_*s K 11

您可能希望研究IPython,一个更强大的交互式shell.它有各种"魔术"命令,包括%run script.py(当然,它运行脚本并留下它定义的任何变量供你检查).

  • 这对我不起作用。我无法访问任何变量。可能是我将脚本放在main()中吗? (2认同)

Syl*_*sne 5

您也可以使用该subprocess模块.就像是:

>>> import subprocess
>>> proc = subprocess.Popen(['./script.py'])
>>> proc.communicate()
Run Code Online (Sandbox Code Playgroud)