从3.5版开始,zipapp模块已在Python的标准库中引入。该模块用于管理包含Python代码的zip文件的创建,这些文件可以由Python解释器直接执行。该模块提供了命令行界面和编程界面。
要以编程方式使用zipapp模块,我们应该有一个包含主要功能的模块。可执行档案是通过以下命令构建的-
python -m zipapp myapp -m "example:main"
在这里,当前路径应该有一个名为myapp的文件夹。在此文件夹中,应该有example.py,它必须具有main()
方法。
创建myapp文件夹并将以下代码另存为example.py-
def main(): print ('Hello World') if __name__=='__main__': main()
当从命令终端执行上述命令时,将创建myapp.pyz。现在,我们可以在命令提示符下执行它。
C:\python37>python myapp.pyz Hello World
支持以下命令行选项-
-o <output>, --output=<output>
默认情况下,输出文件名带有.pyz扩展名和名称与输入源相同。可以通过在-o选项中指定来更改它。
-p <interpreter>, --python=<interpreter>
这用于将解释器明确指定为要运行的命令。
-c, --compress
使用deflate方法压缩文件,以减小输出文件的大小。
zipapp模块可以通过编程方式使用。它定义了以下功能-
zipapp.create_archive(源)
从源文件夹创建应用程序存档。此外,可以使用解释器,目标和压缩参数。
zipapp.get_interpreter(存档)
返回#中指定的解释器!档案开始处的一行。
>>> import zipapp >>> zipapp.create_archive('myapp.pyz', 'myapp')