1

使用空闲时,我知道如果它像这样更改,您可以重新加载模块:

import foo
reload(foo)

如果我只导入模块的一部分,有没有办法以类似的方式重新加载它?

from foo import bar
4

3 回答 3

2

不,reload必须重新运行整个模块。

请注意,这reload是令人困惑的,并且无法保持一致。最好重新启动解释器。

于 2010-02-17T17:18:35.280 回答
1

http://docs.python.org/2/library/functions.html#reload

它说:

“如果一个模块使用 from ... import ... 从另一个模块导入对象,则为另一个模块调用 reload() 不会重新定义从它导入的对象 - 解决此问题的一种方法是重新执行 from 语句,另一种是使用导入和限定名称(module.name 代替。”

但说法不是很清楚。

于 2012-11-04T16:25:41.447 回答
1

不,你必须先导入 foo,然后再重新加载(foo)。

于 2010-02-17T15:50:05.410 回答