首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >未定义重载模块,该模块提供了NameError: name 'reload‘

未定义重载模块,该模块提供了NameError: name 'reload‘
EN

Stack Overflow用户
提问于 2009-06-07 03:55:16
回答 5查看 163.7K关注 0票数 173

我正在尝试重新加载一个已经在Python3中导入的模块,我知道您只需要导入一次,再次执行import命令将不会有任何效果。

执行reload(foo)时会出现以下错误:

代码语言:javascript
复制
Traceback (most recent call last):
    File "(stdin)", line 1, in (module)
    ...
NameError: name 'reload' is not defined

这个错误是什么意思?

EN

回答 5

Stack Overflow用户

发布于 2012-01-01 08:02:09

代码语言:javascript
复制
import imp
imp.reload(script4)
票数 50
EN

Stack Overflow用户

发布于 2016-10-19 06:44:41

要扩展之前编写的答案,如果您想要一个可以跨Python版本2和3工作的解决方案,您可以使用以下方法:

代码语言:javascript
复制
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
票数 41
EN

Stack Overflow用户

发布于 2017-09-22 02:47:56

我推荐使用以下代码片段,因为它在所有python版本中都有效(需要six):

代码语言:javascript
复制
from six.moves import reload_module
reload_module(module)
票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/961162

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档