编程语言
首页 > 编程语言> > Python:检测循环导入的脚本

Python:检测循环导入的脚本

作者:互联网

有人知道可以扫描源目录和检测循环导入的库/脚本吗?

解决方法:

我完全不知道任何工具,但我现在可以想到几种方法来获取这些数据.

让口译员为您服务

对于您拥有的每个模块,创建一个导入它的存根模块,然后运行该模块

$python -v stub_module.py

这只适用于您不依赖于sys.path hackery并且您的模块在导入时没有危险的副作用(两个非常可疑的功能FWIW).您将获得传递导入关闭,但使用此检测循环导入应该是直截了当的.

使用logilab.astng

使用logilab.astng,可以轻松提取模块的所有直接导入(查找logilab.astng.nodes.From和logilab.astng.nodes.Import类型的节点).获得所有模块的直接导入列表后,创建导入图并查找周期.

同样,这仅在您不使用sys.path hacks时才有效.

标签:python,python-2-5
来源: https://codeday.me/bug/20190704/1377281.html