重新加载模块给出 NameError: name 'reload' is not defined
问题描述
我正在尝试重新加载我已经在 Python 3 中导入的模块.我知道您只需要导入一次,再次执行 import
命令不会做任何事情.
I'm trying to reload a module I have already imported in Python 3. I know that you only need to import once and executing the import
command again won't do anything.
执行 reload(foo)
出现此错误:
Traceback (most recent call last):
File "(stdin)", line 1, in (module)
...
NameError: name 'reload' is not defined
错误是什么意思?
解决方案
reload
是 Python 2 中的内置函数,但不是 Python 3 中的内置函数,因此您看到的错误是预期的.
reload
is a builtin in Python 2, but not in Python 3, so the error you're seeing is expected.
如果您确实必须在 Python 3 中重新加载模块,您应该使用:
If you truly must reload a module in Python 3, you should use either:
importlib.reload
适用于 Python 3.4 及更高版本imp.reload
适用于 Python 3.0 到 3.3(自 Python 3.4 起已弃用,支持importlib
)
相关文章