我正在尝试重新加载一个已经在Python3中导入的模块,我知道您只需要导入一次,再次执行import
命令将不会有任何效果。
执行reload(foo)
时会出现以下错误:
Traceback (most recent call last):
File "(stdin)", line 1, in (module)
...
NameError: name 'reload' is not defined
这个错误是什么意思?
发布于 2012-01-01 08:02:09
import imp
imp.reload(script4)
发布于 2016-10-19 06:44:41
要扩展之前编写的答案,如果您想要一个可以跨Python版本2和3工作的解决方案,您可以使用以下方法:
try:
reload # Python 2.7
except NameError:
try:
from importlib import reload # Python 3.4+
except ImportError:
from imp import reload # Python 3.0 - 3.3
发布于 2017-09-22 02:47:56
我推荐使用以下代码片段,因为它在所有python版本中都有效(需要six
):
from six.moves import reload_module
reload_module(module)
https://stackoverflow.com/questions/961162
复制相似问题