2012-09-02 17 views
8

मॉड्यूल का पूर्ण पथ कैसे प्राप्त करें जिसे कहीं और आयात किया जा सकता है?पायथन: आयातित मॉड्यूल का पूर्ण पथ

+0

क्या आपका मतलब फ़ाइल फ़ाइल फ़ाइल या पायथन मॉड्यूल पथ का मतलब है? – Keith

+0

@ किथ फ़ाइल सिस्टम। – Determinant

+0

यदि कोई व्यक्ति फ़ंक्शन 'function_name .__ code__' के साथ ऐसा करने के लिए देख रहा है, तो पूर्ण फ़ाइल पथ प्राप्त करने में अच्छी तरह से काम करता है। – KBoehme

उत्तर

24

जैसा कि अन्य उत्तरों ने कहा है, आप __file__ का उपयोग कर सकते हैं। हालांकि, ध्यान दें कि यदि अन्य मॉड्यूल प्रोग्राम के समान निर्देशिका में है तो यह पूरा पथ नहीं देगा। तो यह सुरक्षित है, कुछ इस तरह करते हैं:

>>> import os 
>>> import math 
>>> os.path.abspath(math.__file__) 
'/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/math.so' 

यहाँ वर्णन करने के लिए एक मॉड्यूल checkIP बुलाया मैंने बनाया के साथ एक उदाहरण है तुम क्यों abspath (checkIP.py मौजूदा निर्देशिका में है) प्राप्त करने की आवश्यकता:

>>> import os 
>>> import checkIP 
>>> os.path.abspath(checkIP.__file__) 
'/Users/Matthew/Programs/checkIP.py' 
>>> checkIP.__file__ 
'checkIP.py' 
1

आप कोशिश कर सकते हैं:

import os 
print os.__file__ 

देखने के लिए जहां मॉड्यूल स्थित है।

1

यदि यह आपके PYTHONPATH निर्देशिका पेड़ के भीतर एक मॉड्यूल है (और __init__.py को अपनी निर्देशिका और मूल निर्देशिका में रखकर पहुंच योग्य है), तो उसके पथ विशेषता पर कॉल करें।

>>>import sample_module 
>>>sample_module.__path__ 
['/absolute/path/to/sample/module'] 

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^