我有一堆 Python 模块我想清理、重组和重构(有一些重复的代码,一些未使用的代码......),我想知道是否有一个工具可以制作一个模块使用的 map 哪个其他模块。
理想情况下,我想要这样的 map :
main.py
-> task_runner.py
-> task_utils.py
-> deserialization.py
-> file_utils.py
-> server.py
-> (deserialization.py)
-> db_access.py
checkup_script.py
re_test.py
main_bkp0.py
unit_tests.py
... 这样我就可以知道哪些文件我可以先开始移动(file_utils.py、db_access.py),哪些文件没有被我的 main.py 使用,因此可以删除,等等。(我'我实际上使用了大约 60 个模块)
编写执行此操作的脚本可能不会非常复杂(尽管导入处理有不同的语法),但我也希望我不是第一个这样做的人想要这样做(如果有人为此制作了一个工具,它可能包括其他巧妙的功能,例如告诉我哪些类和函数可能没有被使用)。
您是否知道任何有助于代码重组的工具(即使是简单的脚本)?
你知道我正在尝试做的事情的更准确的术语吗?代码重组?
最佳答案
Python 的 modulefinder
做这个。编写将此信息转换为导入图(您可以使用例如 graphviz 呈现)的脚本非常容易:这里是 clear explanation .还有 snakefood
它为您完成了所有工作(并且还使用了 AST!)
关于python - 在 Python 中映射模块导入以便于重构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3573694/