如何在 python 3.2 中以编程方式重新加载包中包含的模块



到目前为止,我已经看到了 Python2 的答案,但它不适用于 Python3,我希望每次代码运行时都能始终在包中获取模块的最新更改,而无需每次重新打开新的解释器。由于模块似乎只加载一次,出于文档中指定的性能目的,我希望能够在启动程序之前以编程方式强制加载模块。提前感谢...

虽然我不喜欢回答自己的问题,但我认为在这种情况下完全值得一提,因为似乎很安静有用,以便重新加载您之前修改的模块而无需重新启动整个解释器,只需以编程方式强制模块(包含在包中)获取最新更改,这是要走的路:

import com.your.package.YourModule as MyModuleInPackage
import imp
imp.reload(MyModuleInPackage)

请注意,尝试使用 imp.reload(com.your.package.YourModule) 会导致错误,因此要走的方法是为模块的完全指定名称使用别名,并在重新加载函数中使用它来正常工作......

希望这有帮助。

问候!

最新更新