Python3 - reload()无法在__import__对象上调用?

9 浏览
0 Comments

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中工作?

0
0 Comments

在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()`函数来实现相同的功能。

0