पाने के लिए जब मैंकैसे मॉड्यूल स्थान
import module_name
का उपयोग कर यह संभव है देखने के लिए जहां मेरी हार्ड डिस्क में कि मॉड्यूल स्थित है मॉड्यूल आयात?
पाने के लिए जब मैंकैसे मॉड्यूल स्थान
import module_name
का उपयोग कर यह संभव है देखने के लिए जहां मेरी हार्ड डिस्क में कि मॉड्यूल स्थित है मॉड्यूल आयात?
यह उल्लेख है कि संकुल __file__
विशेषता है जो __init__.py
की ओर इशारा करता है लायक है, वे भी __path__
जो पैकेज निर्देशिका की ओर इशारा करता है। तो आप hasattr(module_name, '__path__') and module_name.__path__[0] or module_name.__file__
का उपयोग कर सकते हैं।
(आरईपीएल में) उदाहरण:
import socket, SOAPpy # SOAPpy is a package
socket.__file__
# .../python2.5/socket.pyc
socket.__path__
# AttributeError: 'module' object has no attribute '__path__'
SOAPpy.__file__
# .../2.5/site-packages/SOAPpy/__init__.pyc
SOAPpy.__path__
# ['.../2.5/site-packages/SOAPpy']
आप सबूत है? मैंने बस इसे अपने पैकेज पर करने की कोशिश की, '__file__' वहां है ('पैकेज/__ init __। Pyc'), जैसा कि यह होना चाहिए," पैकेज "आयात के रूप में देखकर सिर्फ एक μinit__' नामक मॉड्यूल है। ('पैकेज .__ path__ == ['पैकेज']' –
@ क्रिस अपडेट, धन्यवाद। – khachik
कार्यों के बारे में क्या? क्या स्थान भी निर्धारित किया जा सकता है (अच्छी तरह से अन्य विकल्प मॉड्यूल के पथ की जांच करने के लिए प्रतीत होता है, जिससे इसे आयात किया जा रहा है और उम्मीद है कि –
import module_name
module_name.__file__
कोशिश करें: module_name.__file__
।
आप 'का निरीक्षण' के लिए एक वस्तु, उपयोग करना चाहते हैं: inspect
आप मॉड्यूल के फ़ाइल विशेषता का उपयोग कर सकते हैं स्थान खोजने के लिए।
import sys print sys.__file__
की डुप्लिकेट: http://stackoverflow.com/questions/269795/how-do-i-find-the-location-of-python-module-sources – Hugo