在交互模式下执行Python脚本的可能性吗

76 投票
6 回答
96081 浏览
提问于 2025-04-16 09:33

通常情况下,你可以通过命令行来运行一个Python脚本,比如输入:python myscript.py。但是如果你在交互模式下,怎么才能执行一个存储在电脑上的Python脚本呢?

>>> exec(File) ???

其实,你可以多次执行这个脚本。

6 个回答

14

你可以看看 IPython,这是一个更强大的交互式命令行工具。它有很多特别的“魔法”命令,比如 %run script.py(这个命令会运行你的脚本,并且把脚本中定义的变量留给你查看)。

46

如果你用 import file 这个方式来导入文件,不需要加 .py 后缀,这样是可以的。不过要注意,导入后 __name__ 的值不会是 "__main__",所以如果你的脚本里面有检查是否在交互模式下运行的代码,你可能需要绕过这些检查。

另外,如果你想在脚本运行后查看环境的状态,可以试试 python -i script.py

补充一下:如果你想重新加载这个文件,可以用 file = reload(file)

52

使用 execfile('script.py') 这个命令,但它只适用于 Python 2.x 版本。如果你在用 3.0 版本,可以试试 exec(open('script.py').read()) 这个方法。

撰写回答