19.3 zipimport:从ZIP归档加载Python代码
zipimoprt模块实现了zipimporter类,这个类可以用来查找和加载ZIP归档中的Python模块。zipimporter支持PEP 302中指定的导入hook API;Python Eggs就采用这种方式。
通常没有必要直接使用zipimport模块,因为只要归档出现在sys.path中,就可以直接从ZIP归档导入。不过,研究如何使用导入工具API对于程序员学习可用的特性以及了解如何完成模块导入很有意义。另外如果用zipfile.PyZipFile创建作为ZIP归档打包的应用,那么了解ZIP导入工具如何工作便也有助于调试发布这些应用时可能出现的问题。
19.3.1 示例
这些例子重用了讨论zipfile时的一些代码,以创建一个示例ZIP归档,其中包含一些Python模块。
import sys
import zipfile
if __name__ == '__main__':
zf = zipfile.PyZipFile('zipimport_example.zip'</