1

在我当前的目录中,我有一个foo1.py脚本和一个名为 other 的目录,foo2.py里面有一个脚本。

现在:

我启动解释器,并使用execfile我可以启动两个脚本。问题是,当我编辑和保存时foo1.py,我不必重新启动解释器,我只需execfile再次启动它,它会随着我的修改运行,但同样的情况不会发生在foo2.py. 为了使我所做的编辑foo2.py生效,我必须退出并重新启动解释器,因为即使在保存之后它execfile('foo2.py')也会像以前一样运行相同的脚本......

这很烦人,因为我想不断地连续编辑和启动多个脚本,这些脚本经常相互依赖......

我怎样才能让解释器看到我对 的编辑foo2.py,而不必重新启动它?

谢谢!

4

2 回答 2

1

查看 reload() 函数的文档以及其中提到的限制;根据您的 python 版本,它位于不同的模块中,对于 2.x,它是预定义的。

于 2014-04-29T08:38:36.107 回答
1

如果您使用的是“最近”的 Python,您可以尝试以下与 Python 2.6、2.7 和 3.x 兼容的语法

with open('foo2.py') as file:
    exec(compile(file.read(), 'foo2.py', 'exec'))
于 2014-04-29T08:52:03.037 回答