zipapp मॉड्यूल को ver 3.5 के बाद से 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
आउटपुट फ़ाइल के आकार को कम करते हुए, डिफ्लेट विधि से फ़ाइलों को संपीड़ित करें।
zipapp मॉड्यूल प्रोग्रामेटिक रूप से उपयोग किया जा सकता है। यह निम्नलिखित कार्यों को परिभाषित करता है -
zipapp.create_archive(source)
सोर्स फोल्डर से एप्लिकेशन आर्काइव बनाएं। इसके अतिरिक्त, दुभाषिया, लक्ष्य और संकुचित तर्कों का उपयोग किया जा सकता है।
zipapp.get_interpreter(संग्रह)
# में निर्दिष्ट दुभाषिया लौटाएं! संग्रह की शुरुआत में पंक्ति।
>>> import zipapp >>> zipapp.create_archive('myapp.pyz', 'myapp')