Python3 - reload()无法在__import__对象上调用?
Python3 - reload()无法在__import__对象上调用?
由于多种原因,我在Python2中使用s = __import__(\'parse\')
已经很长时间了,现在我需要将我的项目转移到Python3(主要是因为SSL),但是据我所知,Python3中没有reload()
的等效方法。\n只有一种选择:\n
import parse parse.reload() #可以工作
\n但是我真的非常需要让这个工作起来:\n
parse = __import__('parse') parse.reload()
\n或者\n
reload(parse)
\n有没有办法让它在Python3中工作?
在Python 3.4版本中,内置函数`reload()`已经被移动到`importlib`模块中。根据Python 3.4的官方文档中所述,`reload()`函数从`imp`模块中移到了`importlib`模块中,作为`imp`模块弃用的一部分。
然而,在Python 3.4之前的版本中,我们可以直接使用`reload()`函数来重新加载一个已经成功导入的模块。但是,在Python 3.4及更高版本中,我们必须使用`importlib`模块来实现相同的功能。
以下是使用`importlib`模块重新加载模块的示例代码:
from importlib import reload # 导入需要重新加载的模块 import mymodule # 重新加载模块 reload(mymodule)
通过以上代码,我们可以重新加载名为`mymodule`的模块。
总结一下,Python 3.4及更高版本中无法直接使用`reload()`函数来重新加载模块。而是需要使用`importlib`模块中的`reload()`函数来实现相同的功能。