2024-05-29 04:59:17 发布
网友
我有一些称为a的第三方库,从代码示例中我了解到它有一个子包b1,即
a
b1
from a import b1
是否可以看到a的所有子包?包a不是纯python,从文件结构来看,也不明显能分辨出子包。我尝试了dir,但它只显示a的属性
dir
如果包作者提供了包模块的显式索引,那么约定是定义一个名为^{}的列表,其中包含该索引。因此,您可以执行类似以下操作来查看导入包的所有子模块/子包(示例打印由包作者确定的所有json子模块):
import json subs = json.__all__ print(subs) # OUTPUT # ['dump', 'dumps', 'load', 'loads', 'JSONDecoder', 'JSONDecodeError', 'JSONEncoder']
如果包的作者没有提供包模块的索引,那么将很难对其进行排序。一种方法是使用dir,然后按类型对属性进行排序或过滤,以缩小到可能是子模块/子包的集合。下面是一个可能有用的例子。在
如果包作者提供了包模块的显式索引,那么约定是定义一个名为^{} 的列表,其中包含该索引。因此,您可以执行类似以下操作来查看导入包的所有子模块/子包(示例打印由包作者确定的所有json子模块):
如果包的作者没有提供包模块的索引,那么将很难对其进行排序。一种方法是使用
^{pr2}$dir
,然后按类型对属性进行排序或过滤,以缩小到可能是子模块/子包的集合。下面是一个可能有用的例子。在相关问题 更多 >
编程相关推荐