如何在Python解释器中执行文件?

391 投票
12 回答
831798 浏览
提问于 2025-04-15 12:25

我想在Python的解释器里执行一个包含Python命令的文件。

我想使用那个文件里的变量和设置,而不是去启动一个单独的进程。

12 个回答

114

Python 2 + Python 3

exec(open("./path/to/script.py").read(), globals())

这段代码会执行一个脚本,并把这个脚本里的所有全局变量放到解释器的全局范围内(这在大多数脚本环境中是正常的行为)。

Python 3 exec 的文档

276

对于Python 2:

>>> execfile('filename.py')

对于Python 3:

>>> exec(open("filename.py").read())
# or
>>> from pathlib import Path
>>> exec(Path("filename.py").read_text())

可以查看这个文档。如果你在使用Python 3.0,可以参考这个问题

可以看看@S.Lott的回答,里面有个例子,讲的是如何在执行完filename.py后访问全局变量。

338

有几种方法可以做到。

  • 通过命令行

    python someFile.py
    
  • 在IDLE里面,按一下F5键。

  • 如果你在交互模式下输入,可以试试这个(Python3):

    >>> exec(open("filename.py").read())
    
  • 对于Python 2:

    >>> variables= {}
    >>> execfile( "someFile.py", variables )
    >>> print variables # globals from the someFile module
    

撰写回答