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

पायथन मॉड्यूल पथ कैसे प्राप्त करें?

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

उदाहरण


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

बिल्ट-इन मॉड्यूल

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

कमांड लाइन से

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

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

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


import importlib.util

spec = importlib.util.find_spec('module_name')
if spec:
    print(spec.origin)  # फ़ाइल पथ या 'built-in'
    print(spec.submodule_search_locations)  # पैकेज के लिए

2. inspect मॉड्यूल


import inspect
import mymodule

print(inspect.getfile(mymodule))
print(inspect.getsourcefile(mymodule))

3. sys.modules


import sys
module = sys.modules.get('module_name')
if module:
    print(getattr(module, '__file__', 'built-in'))

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


import pkgutil

# पैकेज पथ प्राप्त करें
import mypackage
print(mypackage.__path__)
# ['/path/to/mypackage']

# या
spec = importlib.util.find_spec('mypackage')
print(spec.submodule_search_locations)

5. कमांड लाइन टूल्स


# मॉड्यूल फ़ाइल प्रिंट करें
python -c "import module; print(module.__file__)"

# पैकेज स्थान
python -c "import package; print(package.__path__)"

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

पथ प्रकार

प्रकारउदाहरणविवरण
मॉड्यूल फ़ाइल/path/to/module.pyप्योर पायथन मॉड्यूल
पैकेज पथ['/path/to/package']`__path__` सूची
बिल्ट-इन'built-in'C एक्सटेंशन, कोई फ़ाइल नहीं
नेमस्पेस पैकेज['/path1', '/path2']एकाधिक स्थान
  1. - पायथन में IndentationError एक्सेप्शन कैसे पकड़ें?

    IndentationError तब होता है जब पार्सर को सोर्स कोड मिलता है जो इंडेंटेशन नियमों का पालन नहीं करता। हम इसे मॉड्यूल इम्पोर्ट करते समय पकड़ सकते हैं, क्योंकि मॉड्यूल पहले इम्पोर्ट पर कंपाइल होगा। आप इसे उसी मॉड्यूल में नहीं पकड़ सकते जिसमें try/except ब्लॉक है, क्योंकि इस एक्सेप्शन के साथ, पायथन मॉड्यू

  1. - पायथन ऑब्जेक्ट्स से सोर्स कोड कैसे प्राप्त करें?

    हम फंक्शन का सोर्स कोड प्राप्त करने के लिए inspect मॉड्यूल के getsource() मेथड का उपयोग करते हैं। inspect.getsource(object) किसी ऑब्जेक्ट के लिए सोर्स कोड का टेक्स्ट लौटाता है। आर्गुमेंट मॉड्यूल, क्लास, मेथड, फंक्शन, ट्रेसबैक, फ्रेम, या कोड ऑब्जेक्ट हो सकता है। सोर्स कोड एकल स्ट्रिंग के रूप में लौटा

  1. Python में पाथ कैसे जोड़ें? Python में पाथ कैसे जोड़ें?

    Python एक प्रोग्रामिंग भाषा है जिसे पहली बार 1991 में जारी किया गया था। इसका एक एप्लिकेशन है जिसका उपयोग कई ऑपरेटिंग सिस्टम पर किया जा सकता है और डेवलपर्स इस पर नया कोड लिख और विकसित कर सकते हैं। Python विशाल संभावनाओं के कारण सबसे व्यापक रूप से उपयोग की जाने वाली प्रोग्रामिंग भाषाओं में से एक है जो