重新加载模块给出 NameError: name 'reload' is not defined

Reloading module giving NameError: name #39;reload#39; is not defined(重新加载模块给出 NameError: name reload is not defined)

本文介绍了重新加载模块给出 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)

这篇关于重新加载模块给出 NameError: name 'reload' is not defined的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:重新加载模块给出 NameError: name 'reload' is not defined

基础教程推荐