zipapp - 管理可執行 Python zip 壓縮包


zipapp 模組自 Python 3.5 版本起已包含在標準庫中。此模組用於管理包含 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(source)

從原始檔夾建立一個應用程式存檔。此外,還可以使用 interpreter、target 和 compressed 引數。

zipapp.get_interpreter(archive)

返回存檔開頭 #! 行中指定的直譯器。

>>> import zipapp
>>> zipapp.create_archive('myapp.pyz', 'myapp')

更新於:2019年7月30日

527 次瀏覽

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.