Python 如何重新加载使用 from module import *
导入的python模块
在本文中,我们将介绍如何重新加载使用 from module import *
导入的python模块。在Python中,我们通常使用import
语句来导入模块,但有时我们可能需要重新加载一个已导入的模块,特别是当我们在交互式环境中进行开发和调试时。但是,使用 from module import *
导入模块会导致我们无法直接使用reload()
函数来重新加载它。下面我们将介绍两种方法来重新加载这样导入的模块。
阅读更多:Python 教程
方法一:使用imp.reload()函数
Python 3.4以前的版本,可以使用imp
模块的reload()
函数来重新加载模块。该函数接受一个模块对象作为参数,并返回重新加载后的模块对象。
下面我们以一个示例来演示如何使用imp.reload()
函数重新加载模块。
首先,我们创建一个名为example_module.py
的模块文件,其中包含一个名为greet()
的函数:
然后,在Python交互式环境中,我们可以使用 from module import *
导入模块,并调用其中的函数:
如果我们更新了example_module.py
文件中的代码,并希望在交互式环境中重新加载该模块,我们可以使用imp.reload()
函数来实现:
现在,我们再次调用greet()
函数,将会看到更新后的输出。
请注意,使用该方法重新加载模块时,需要保证要重新加载的模块已经成功导入过,否则会出现NameError
。
方法二:使用importlib.reload()函数
Python 3.4及以上版本,importlib
模块提供了reload()
函数来重新加载模块。该函数的用法与imp.reload()
函数相似。
下面我们以一个示例来演示如何使用 importlib.reload()
函数重新加载模块。
我们使用与上面相同的示例模块文件example_module.py
,并在交互式环境中导入模块并调用函数:
如果我们更新了example_module.py
文件中的代码,并希望重新加载该模块,在Python 3.4及以上版本中,我们可以使用importlib.reload()
函数来实现:
现在,再次调用greet()
函数,将会看到更新后的输出。
与imp.reload()
类似,使用importlib.reload()
重新加载模块时也需要保证模块已经成功导入过,否则会出现NameError
。
总结
本文介绍了重新加载使用 from module import *
导入的python模块的两种方法。使用imp.reload()
函数适用于Python 3.4及以下版本,而使用importlib.reload()
函数适用于Python 3.4及以上版本。我们可以根据自己的Python版本选择合适的方法来重新加载模块,以便在交互式环境中进行开发和调试。希望本文对你有所帮助!