當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。