Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

क्या हम पायथन मॉड्यूल को संकलित (कंपाइल्ड) प्रारूप में रख सकते हैं?

हां, आप पायथन मॉड्यूल को संकलित प्रारूप में रख सकते हैं। जब आप एक मॉड्यूल इम्पोर्ट करते हैं तो पायथन स्वचालित रूप से पायथन सोर्स कोड को संकलित करता है, इसलिए `.pyc` फ़ाइल बनाने का सबसे आसान तरीका इसे इम्पोर्ट करना है। यदि आपके पास `mymodule.py` मॉड्यूल है, तो बस करें:

>> import mymodule

यह उसी डायरेक्टरी में `mymodule.pyc` फ़ाइल बनाएगा। एक कमी यह है कि यह केवल मॉड्यूल को संकलित नहीं करता, यह इसे निष्पादित भी करता है, जो आप नहीं चाह सकते हैं। (हालांकि, यह स्क्रिप्ट निष्पादित करने में विफल होने पर भी पूरी स्क्रिप्ट को संकलित करता है)।

प्रोग्रामेटिक रूप से संकलित करें (बिना निष्पादन)

इसे प्रोग्रामेटिक रूप से और कोड निष्पादित किए बिना करने के लिए, आप `'py_compile'` मॉड्यूल का उपयोग कर सकते हैं:

>> import py_compile
>>> py_compile.compile("mymodule.py")

पूरे डायरेक्टरी ट्री को संकलित करें

एक `'compileall'` मॉड्यूल भी है जिसका उपयोग पूरे डायरेक्टरी ट्री में सभी मॉड्यूल संकलित करने के लिए किया जा सकता है।

>> import compileall
>>> compileall.compile_dir("mylib", force=1)

कमांड लाइन से


# सिंगल फ़ाइल
python -m py_compile mymodule.py

# पूरी डायरेक्टरी
python -m compileall mylib
python -m compileall -f mylib  # बलपूर्वक पुनः संकलित

महत्वपूर्ण नोट्स

  • पायथन का बाइटकोड प्लेटफॉर्म के बीच पोर्टेबल है, लेकिन पायथन रिलीज के बीच जरूरी नहीं
  • `.pyc` फ़ाइलें `__pycache__` डायरेक्टरी में संग्रहीत होती हैं (पायथन 3.2+)
  • फाइलनाम प्रारूप: `module.cpython-311.pyc` (इंटरप्रेटर संस्करण शामिल)
  • संकलित फ़ाइलें सोर्स कोड छिपाती नहीं हैं - डिकंपाइल करना आसान है
  • प्रदर्शन लाभ: केवल स्टार्टअप समय (पार्सिंग बचाता है), रनटाइम नहीं

बाइटकोड बनाम सोर्स

पहलू.py (सोर्स).pyc (बाइटकोड)
पठनीयतामानव-पठनीयबाइनरी
पोर्टेबिलिटीसभी पायथन संस्करणसमान मेजर संस्करण
आकारबड़ाछोटा
लोड समयधीमा (पार्स + संकलन)तेज (केवल लोड)
  1. - Locally Installed Python Modules की List कैसे प्राप्त करें?

    Installed Python Modules List करना Locally Installed Python Modules की List प्राप्त करने के कई तरीके हैं। तरीका 1: Python Shell में help() का उपयोग >>> help(modules) Please wait a moment while I gather a list of all available modules... BaseHTTPServer brain_nose markupbase

  1. - Python में Multiple Imports कैसे करें?

    Python में Multiple Imports तरीका 1: Multiple Import Statements >>> import os >>> import math >>> import sys तरीका 2: Single Statement में Multiple Modules (Comma-separated) >>> import math, sys, os तरीका 3: Module Aliases के साथ import math as Mathematics, s

  1. - Python Import Statement के साथ Multiple Modules का उपयोग कैसे करें?

    Single Import Statement में Multiple Modules Single Import Statement में Multiple Modules Import करने के लिए, बस Module Names को Commas से Separate करें। उदाहरण >>> import math, sys, os Module Aliases के साथ यदि आप Modules को Import करने वाले Name को Change करना चाहते हैं, तो प्रत्येक Mo