我知道有一种方法可以使用python导入zip文件中的模块。我在zip文件中创建了一种自定义python包库。
我想把我的“任务”脚本放在这个包里,那些正在使用这个库。然后,使用bash,我想在zip文件中调用所需的脚本而不解压缩。
当我想运行我的脚本时,目标是只在一个指定的文件夹中移动一个zip。
答案 0 :(得分:9)
我终于找到了办法。如果我创建一个zip文件,我必须在zip的根目录创建__main__.py
。因此,可以在main中启动脚本,并使用以下命令从bash调用:
python myArchive.zip
此命令将运行__main__.py
文件! :)
然后我可以创建.command
文件以使用适当的参数启动脚本。
您还可以在__main__.py
文件中添加一些代码,以便在需要传递参数时为您提供更大的灵活性。
ex:python __main__.py buildProject
答案 1 :(得分:3)
看看zipimport。它应该直接从安装。您可能需要做一些工作才能使pythonpath指向您的zip文件/目录。
此模块添加了导入功能 Python模块(* .py,* .py [co])和 来自ZIP格式档案的包。它 通常不需要使用 zipimport模块明确;它是 内置自动使用 sys.path项的导入机制 这是ZIP存档的路径。这是ZIP存档的路径。