相关疑难解决方法(0)

是否有一种标准的方法来列出包中的Python模块的名称?

是否有直接的方法列出包中所有模块的名称,而不使用__all__

例如,给定此包:

/testpkg
/testpkg/__init__.py
/testpkg/modulea.py
/testpkg/moduleb.py
Run Code Online (Sandbox Code Playgroud)

我想知道是否有标准或内置方式来做这样的事情:

>>> package_contents("testpkg")
['modulea', 'moduleb']
Run Code Online (Sandbox Code Playgroud)

手动方法是遍历模块搜索路径以查找包的目录.然后可以列出该目录中的所有文件,过滤掉唯一命名的py/pyc/pyo文件,剥离扩展名,然后返回该列表.但对于模块导入机制已在内部进行的操作,这似乎是相当多的工作.该功能是否暴露在任何地方

python module package

87
推荐指数
4
解决办法
7万
查看次数

标签 统计

module ×1

package ×1

python ×1