使用空闲时,我知道如果它像这样更改,您可以重新加载模块:
import foo
reload(foo)
如果我只导入模块的一部分,有没有办法以类似的方式重新加载它?
from foo import bar
使用空闲时,我知道如果它像这样更改,您可以重新加载模块:
import foo
reload(foo)
如果我只导入模块的一部分,有没有办法以类似的方式重新加载它?
from foo import bar
不,reload
必须重新运行整个模块。
请注意,这reload
是令人困惑的,并且无法保持一致。最好重新启动解释器。
http://docs.python.org/2/library/functions.html#reload
它说:
“如果一个模块使用 from ... import ... 从另一个模块导入对象,则为另一个模块调用 reload() 不会重新定义从它导入的对象 - 解决此问题的一种方法是重新执行 from 语句,另一种是使用导入和限定名称(module.name )代替。”
但说法不是很清楚。
不,你必须先导入 foo,然后再重新加载(foo)。