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

时间:2011-01-07 10:10:33

标签: python interactive mode

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

>>> exec(File) ???

应该可以多次执行脚本。

6 个答案:

答案 0 :(得分:41)

使用execfile('script.py')但它只适用于python 2.x,如果您使用3.0,请尝试this

答案 1 :(得分:30)

没有.py扩展名的

import file会执行此操作,但是__name__不会是"__main__"所以如果脚本执行任何检查以确定它是否以交互方式运行,则需要绕过它们。

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

编辑:再次加载

file = reload(file)

答案 2 :(得分:11)

您可能希望查看IPython,这是一个功能更强大的交互式shell。它有各种“神奇”命令,包括%run script.py(当然,它运行脚本并留下它定义的任何变量供你检查)。

答案 3 :(得分:5)

您也可以使用subprocess模块。类似的东西:

>>> import subprocess
>>> proc = subprocess.Popen(['./script.py'])
>>> proc.communicate()

答案 4 :(得分:2)

您可以使用python运行任何系统命令:

>>>from subprocess import Popen
>>>Popen("python myscript.py", shell=True)

答案 5 :(得分:0)

最简单的方法是使用os模块:

import os

os.system('python script.py')

实际上os.system('cmd')用于运行Shell命令。希望足够了。