python 用zipimport加载压缩文件里的模块

来源:互联网 发布:迫击炮威力 知乎 编辑:程序博客网 时间:2024/06/08 04:00

zipimport对后缀名不是.zip的文件也是支持的,比如.npkg文件,便于商业代码的保密。

首先要生成压缩文件的zipimporter,设置查询路径:

         mod_path = os.path.join(self.dirparent, self.pkgname)
        self.zip_importer = zipimport.zipimporter(mod_path)#压缩文件的绝对位置或相对位置
        sys.path.insert(0, mod_path)

 然后就可以用load_moudle加载:

         m = self.package.zip_importer.load_module(name)#name是在压缩包里的 相对路径,

比如mod_path是c/test.npkg ,name是a/b,即加载test.npkg 例a/b这个模块

    

原创粉丝点击