python所有模块包详解,列出python包中的所有模块?

本文介绍了如何利用Python的pkgutil模块遍历系统上的所有模块以及特定包的子包。pkgutil.walk_packages方法能递归列出所有子模块,而pkgutil.iter_modules仅列出一级子模块。示例代码展示了如何遍历scipy包及其所有子模块。注意,pkgutil的一些功能可能不是公共API,但walk_packages自Python2.6起就已存在。
摘要由CSDN通过智能技术生成

这项工作的正确工具是pkgutil.walk_包。

要列出系统上的所有模块:import pkgutil

for importer, modname, ispkg in pkgutil.walk_packages(path=None, οnerrοr=lambda x: None):

print(modname)

请注意,walk_包导入所有子包,而不是子模块。

如果要列出某个包的所有子模块,则可以使用以下方法:import pkgutil

import scipy

package=scipy

for importer, modname, ispkg in pkgutil.walk_packages(path=package.__path__,

prefix=package.__name__+'.',

οnerrοr=lambda x: None):

print(modname)

iter_模块只列出一级深度的模块。

walk_包获得所有子模块。

例如,对于scipy,walk_包返回scipy.stats.stats

而iter_模块只返回scipy.stats

关于pkgutil(http://docs.python.org/library/pkgutil.html)的文档

不列出

/usr/lib/python2.6/pkgutil.py。

也许这意味着这些功能不是“公共”界面的一部分,并且可能会发生变化。

然而,至少从Python2.6开始(也许更早的版本?)

pkgutil附带了walk_packages方法,它递归地遍历所有

提供模块。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值