我最近的任务是维护一堆使用量from module import *
相当大的代码。
这个代码库已经变得足够大,以至于导入冲突/命名模糊/“这个函数到底是从哪里来的,好像有八个导入的模块有一个同名?!”主义变得越来越普遍。
展望未来,我一直在使用显式成员(即import module ... module.object.function()
,使我所做的维护工作更具可读性。
但我想知道:是否有一个 IDE 或实用程序可以健壮地解析 Python 代码并将 * import 语句重构为模块 import 语句,然后将完整的模块路径添加到对该模块成员的所有引用上?
我们没有inspect
大量使用元编程/反射//monkeypatching,所以如果前面的 IDE/util 在这些事情上表现不佳,那没关系。