बीच क्या अंतर है os.path.basename()और os.path.dirname()?
मैंने पहले ही जवाब खोज लिए और कुछ लिंक पढ़ लिए, लेकिन समझ नहीं आया। क्या कोई सरल स्पष्टीकरण दे सकता है?
बीच क्या अंतर है os.path.basename()और os.path.dirname()?
मैंने पहले ही जवाब खोज लिए और कुछ लिंक पढ़ लिए, लेकिन समझ नहीं आया। क्या कोई सरल स्पष्टीकरण दे सकता है?
जवाबों:
दोनों फ़ंक्शन os.path.split(path)पैथनेम pathको एक जोड़ी में विभाजित करने के लिए फ़ंक्शन का उपयोग करते हैं ; (head, tail)।
os.path.dirname(path)समारोह पथ के सिर देता है।
जैसे: का dirname '/foo/bar/item'है '/foo/bar'।
os.path.basename(path)समारोह पथ की पूंछ देता है।
जैसे: '/foo/bar/item'रिटर्न का आधार'item'
प्रेषक: http://docs.python.org/2/library/os.path.html#os.path.basename
os.path.basename(os.path.dirname(path))
'foo.bar', और os.path.dirname (file_name) एक रिक्त स्ट्रिंग देता है '':।
ऊपर ब्रेनो द्वारा जो उल्लेख किया गया था, उसे संक्षेप में बताने के लिए
कहें कि आपके पास फ़ाइल के लिए पथ वाला एक चर है
path = '/home/User/Desktop/myfile.py'
os.path.basename(path) स्ट्रिंग लौटाता है 'myfile.py'
तथा
os.path.dirname(path)स्ट्रिंग लौटाता है '/home/User/Desktop'(अनुगामी स्लैश के बिना / ')
इन कार्यों का उपयोग तब किया जाता है जब आपको फ़ाइल नाम / निर्देशिका नाम प्राप्त करना होता है जिसे पूर्ण पथ नाम दिया जाता है।
यदि फ़ाइल पथ केवल फ़ाइल नाम है (जैसे कि path = '/home/User/Desktop/myfile.py'आपके पास बस है myfile.py), तो os.path.dirname(path)खाली स्ट्रिंग लौटाता है।
itemसाथ प्रतिस्थापित करते हैंitem/, जो एक निर्देशिका है, तोos.path.split('foo/bar/item/')वापस लौटता है('foo/bar/item', '')।