当前位置: 首页>>编程示例 >>用法及示例精选 >>正文


Python pkgutil.walk_packages用法及代码示例

用法:

pkgutil.walk_packages(path=None, prefix='', onerror=None)

path 上递归地为所有模块产生 ModuleInfo ,或者,如果 pathNone ,则所有可访问的模块。

path 应该是 None 或在其中查找模块的路径列表。

prefix 是一个字符串,要在输出的每个模块名称的前面输出。

请注意,此函数必须在给定的 path 上导入所有 packages(not 所有模块!),以便访问 __path__ 属性以查找子模块。

onerror 是一个函数,如果在尝试导入包时发生任何异常,则使用一个参数(正在导入的包的名称)调用该函数。如果未提供 onerror 函数,则会捕获并忽略 ImportError,同时传播所有其他异常,从而终止搜索。

例子:

# list all modules python can access
walk_packages()

# list all submodules of ctypes
walk_packages(ctypes.__path__, ctypes.__name__ + '.')

注意

仅适用于定义 iter_modules() 方法的查找器。该接口是非标准的,因此该模块还提供了 importlib.machinery.FileFinderzipimport.zipimporter 的实现。

在 3.3 版中更改:更新为直接基于importlib而不是依赖包内部PEP 302导入仿真。

相关用法


注:本文由纯净天空筛选整理自python.org大神的英文原创作品 pkgutil.walk_packages。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。