โมดูล zipapp ได้รับการแนะนำในไลบรารีมาตรฐานของ Python ตั้งแต่เวอร์ชัน 3.5 โมดูลนี้ใช้เพื่อจัดการการสร้างไฟล์ zip ที่มีรหัส Python ซึ่งสามารถดำเนินการได้โดยตรงโดยล่าม 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')