Есть ли IDE / утилита для рефакторинга импорта Python * для использования стандартного синтаксиса module.member?
Недавно мне было поручено поддерживать кучу кода, который используетfrom module import *
довольно сильно.
Эта кодовая база стала настолько большой, что конфликты импорта / неоднозначность имен / «откуда, черт возьми, появилась эта функция, похоже, что восемь импортированных модулей, один из которых имеет одно и то же имя?!», Становятся все более распространенными.
Двигаясь вперед, я использовал явных членов (т.е.import module ... module.object.function()
чтобы сделать техническое обслуживание я делаю более читабельным.
Но мне было интересно:is there an IDE or utility which robustly parses Python code and refactors * import statements into module import statements, and then prepends the full module path onto all references to members of that module?
Мы не используем метапрограммирование / отражение /inspect
/ monkeypatching сильно, так что если вышеупомянутая IDE / util плохо работает с такими вещами, это нормально.