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

पायथन मॉड्यूल सोर्स की लोकेशन कैसे ढूंढें?

प्योर पायथन मॉड्यूल के लिए आप `module.__file__` को देखकर सोर्स फ़ाइलों का स्थान ढूंढ सकते हैं।

उदाहरण


>>> import mymodule
>>> mymodule.__file__
'C:/Users/Ayush/mymodule.py'

बिल्ट-इन / C एक्सटेंशन मॉड्यूल

कई बिल्ट-इन मॉड्यूल C में लिखे गए हैं, और इसलिए `module.__file__` एक `.so` फ़ाइल की ओर इशारा करता है (विंडोज पर कोई `module.__file__` नहीं), और इसलिए, आप सोर्स नहीं देख सकते।

आप मैन्युअली जा सकते हैं और `PYTHONPATH` वेरिएबल की सामग्री की जांच कर सकते हैं ताकि उन डायरेक्टरी को ढूंढ सकें जहां से ये बिल्ट-इन मॉड्यूल इम्पोर्ट किए जा रहे हैं।

"python -v" कमांड लाइन से चलाएं

यह आपको बताता है कि क्या इम्पोर्ट किया जा रहा है और कहां से। यह बिल्ट-इन मॉड्यूल के स्थान को जानने के लिए उपयोगी है।

अतिरिक्त विधियां

1. inspect मॉड्यूल


import inspect
import mymodule

print(inspect.getfile(mymodule))
print(inspect.getsourcefile(mymodule))
# सोर्स कोड प्राप्त करें
print(inspect.getsource(mymodule))

2. importlib.util (पायथन 3.4+)


import importlib.util

spec = importlib.util.find_spec('mymodule')
if spec and spec.origin:
    print(spec.origin)
    # 'C:/path/to/mymodule.py' या 'built-in' के लिए

3. pkgutil (पैकेज के लिए)


import pkgutil

# पैकेज में सभी मॉड्यूल सूचीबद्ध करें
for importer, modname, ispkg in pkgutil.iter_modules(mypackage.__path__):
    print(f"{modname}: {'पैकेज' if ispkg else 'मॉड्यूल'}")

4. कमांड लाइन


# मॉड्यूल स्थान दिखाएं
python -c "import mymodule; print(mymodule.__file__)"

# वर्बोज इम्पोर्ट ट्रेस
python -v -c "import mymodule" 2>&1 | grep mymodule

# पिप शो
pip show mypackage
# Location: /path/to/site-packages

विंडोज पर नोट

विंडोज पर, C एक्सटेंशन के लिए `module.__file__` `.pyd` फ़ाइल की ओर इशारा करता है (`.so` के बजाय)। सोर्स कोड पायथन इंस्टॉलेशन के सोर्स डिस्ट्रीब्यूशन में या ऑनलाइन (GitHub, python.org) उपलब्ध है।

सारांश

विधिकार्यक्षेत्रनोट्स
`module.__file__`प्योर पायथनसरल, सीधा
`inspect.getfile()`प्योर पायथनअधिक मजबूत
`importlib.util.find_spec()`सभी मॉड्यूलआधुनिक, बिल्ट-इन के लिए 'built-in' लौटाता है
`python -v`सभी इम्पोर्टडिबगिंग के लिए बढ़िया
`pip show`इंस्टॉल पैकेजमेटाडेटा शामिल
  1. - Python में Particular Module को Locate कैसे करें?

    Module Location Find करना Pure Python Module के लिए आप module.__file__ को देखकर Source Files का Location Find कर सकते हैं। उदाहरण >>> import mymodule >>> mymodule.__file__ C:/Users/Ayush/mymodule.py Built-in Modules (C में लिखे गए): कई Built-in Modules C में लिखे गए हैं, और इसलि

  1. - Python में String में Substring की nth Occurrence कैसे Find करें?

    Substring की nth Occurrence Find करना आप Substring पर Max n+1 Splits के साथ Split करके String में Substring की nth Occurrence Find कर सकते हैं। यदि Resulting List का Size n+1 से Greater है, तो इसका मतलब है कि Substring n से अधिक बार Occur होती है। इसका Index Simple Formula से पाया जा सकता है: Origi

  1. - पायथन फंक्शन के आर्गुमेंट्स की संख्या कैसे पता करें?

    मान लीजिए qux.py नामक एक स्क्रिप्ट निम्नानुसार है: #qux.py def aMethod1(arg1, arg2): pass def aMethod2(arg1,arg2, arg3, arg4, arg5): pass मान लें कि आपके पास इस स्क्रिप्ट की सामग्री तक पहुंच नहीं है, आप दिए गए फंक्शन में आर्गुमेंट्स की संख्या निम्नानुसार पता लगा सकते हैं: पायथन फंक्शन के अंद