如何在python中显示包的子包

2024-05-29 04:59:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一些称为a的第三方库,从代码示例中我了解到它有一个子包b1,即

from a import b1

是否可以看到a的所有子包?包a不是纯python,从文件结构来看,也不明显能分辨出子包。我尝试了dir,但它只显示a的属性

^{pr2}$

Tags: 代码fromimport示例属性dir结构b1
1条回答
网友
1楼 · 发布于 2024-05-29 04:59:17

如果包作者提供了包模块的显式索引,那么约定是定义一个名为^{}的列表,其中包含该索引。因此,您可以执行类似以下操作来查看导入包的所有子模块/子包(示例打印由包作者确定的所有json子模块):

import json

subs = json.__all__
print(subs)

# OUTPUT
# ['dump', 'dumps', 'load', 'loads', 'JSONDecoder', 'JSONDecodeError', 'JSONEncoder']

如果包的作者没有提供包模块的索引,那么将很难对其进行排序。一种方法是使用dir,然后按类型对属性进行排序或过滤,以缩小到可能是子模块/子包的集合。下面是一个可能有用的例子。在

^{pr2}$

相关问题 更多 >

    热门问题