相关疑难解决方法(0)

'reload'的递归版本

当我开发Python代码时,我通常在解释器中以临时方式测试它.我将import some_module测试它,找到一个bug,修复bug并保存,然后再使用内置reload函数进行reload(some_module)测试.

但是,假设在some_module我有import some_other_module,并且在测试时some_module我发现了一个错误some_other_module并修复它.现在调用reload(some_module)不会递归重新导入some_other_module.我必须手动重新导入依赖项(通过执行类似的操作reload(some_module.some_other_module),或者import some_other_module; reload(some_other_module),或者,如果我已经更改了一大堆依赖项并且丢失了我需要重新加载的内容,我需要重新启动整个解释器.

更方便的是,如果有一些recursive_reload功能,我可以做recursive_reload(some_module),让Python不仅重新加载some_module,而且还递归地重新加载每个some_module导入的模块(以及每个模块导入的每个模块,等等)我可以肯定我没有使用任何其他模块的旧版本some_module.

我不认为Python内置任何内容就像recursive_reload我在这里描述的功能一样,但有没有一种简单的方法可以将这样的东西组合在一起?

python python-module python-import

24
推荐指数
3
解决办法
6477
查看次数

标签 统计

python ×1

python-import ×1

python-module ×1