ओएस मॉड्यूल मूल निर्देशिका प्राप्त करने के विभिन्न तरीके प्रदान करता है। कुछ तरीके:
- os.path.abspath () का उपयोग करना
- os का उपयोग करना . path.dirname ()
- os.path.relpath () और os.path.dirname ()
os.path का उपयोग करना। abspath ()
os.path.abspath ()
पेरेंट निर्देशिका प्राप्त करने के लिए इस्तेमाल किया जा सकता है। इस विधि का उपयोग पथ के सामान्यीकृत संस्करण को प्राप्त करने के लिए किया जाता है। इस फ़ंक्शन को भी सहायता चाहिए os.path.join ( ()
और os.pardir ()
।os.path.join ( ()
पायथन में os.path.join ( ()
एक या अधिक पथ घटकों को जोड़ती है। यह विधि विभिन्न पथ घटकों को ठीक एक के साथ जोड़ती है (' / ')
अंतिम पथ घटक को छोड़कर प्रत्येक गैर-रिक्त भाग के बाद निर्देशिका विभाजक। यदि शामिल होने के पथ का अंतिम घटक खाली है, तो ( ' / ')
निर्देशिका विभाजक को अंत में रखा गया है।
वाक्यविन्यास: os.path.abspath (पथ)
पैरामीटर:
पथ: एक पथ-जैसी वस्तु जो फ़ाइल सिस्टम पथ का प्रतिनिधित्व करती है।वापसी प्रकार: एक स्ट्रिंग देता है जो पथ का एक सामान्यीकृत संस्करण है।
उदाहरण:
# पैरेंट पाने के लिए Python प्रोग्राम
# Directory
<कोड वर्ग = "कीवर्ड"> आयात <कोड वर्ग = "सादा"> ओएस
कोड वर्ग = "टिप्पणियां"> # वर्तमान निर्देशिका प्राप्त करें
<कोड वर्ग = "सादा"> पथ <कोड वर्ग = "कीवर्ड"> = <कोड वर्ग = "सादा"> os.getcwd ()
Print
(
"current Directory" कोड> <कोड वर्ग = "सादा">, cwd)
<कोड वर्ग = "टिप्पणियां"> # मूल निर्देशिका प्रिंट करता है
Print
(os.path.abspath ( <कोड>) a href="https://python.engineering/python-os-path-join-method/">os.path.join ( (पथ, os.pardir)))

os.path.dirname ()
os.path.dirname ()
पायथन में एक निर्देशिका का नाम प्राप्त करने के लिए प्रयोग किया जाता है पथ दिया।
वाक्यविन्यास: os.path.dirname< /a>(पथ)
P arameter:
पथ: एक पथ-जैसी वस्तु जो फ़ाइल सिस्टम पथ का प्रतिनिधित्व करती है।वापसी का प्रकार: यह विधि एक स्ट्रिंग मान देता है जो निर्दिष्ट पथ से निर्देशिका नाम का प्रतिनिधित्व करता है।
उदाहरण:
# पैरेंट पाने के लिए Python प्रोग्राम
# निर्देशिका code>
import
ओएस
<कोड वर्ग = "टिप्पणियां"> # वर्तमान निर्देशिका प्राप्त करें
<कोड वर्ग = "सादा"> पथ <कोड वर्ग = "कीवर्ड"> = <कोड वर्ग = "सादा"> os.getcwd ()
<कोड वर्ग = "कार्य"> प्रिंट <कोड वर्ग = "सादा"> ( <कोड वर्ग = "स्ट्रिंग"> "घन रेंट डायरेक्टरी " , path)
Print
( )
<कोड वर्ग = "टिप्पणियां"> # मूल निर्देशिका
<कोड वर्ग = "सादा"> अभिभावक <कोड वर्ग = "कीवर्ड"> = <कोड वर्ग = "सादा"> os. path.dirname (पथ)
Print
(
"पैरेंट डायरेक्टरी" <कोड क्लास = "प्लेन">, पैरेंट)
बाहर निकलें :
os.path.relpath () और os.path.dirname ()
उपरोक्त उदाहरणों में, मूल निर्देशिका प्राप्त करना एक स्तर तक सीमित था, अर्थात , हम केवल वर्तमान निर्देशिका के मूल स्तर को केवल एक स्तर तक प्राप्त कर सकते हैं ... मान लीजिए कि हम मूल निर्देशिका के लिए माता-पिता को ढूंढना चाहते हैं, तो उपरोक्त कोड विफल हो जाएगा। इसे os.path.dirname ()
.
os.path.relpath ()
पायथन में प्रयोग किया जाता है वर्तमान कार्यशील निर्देशिका या दी गई निर्देशिका से किसी दिए गए पथ पर फ़ाइल के सापेक्ष पथ प्राप्त करें।
वाक्यविन्यास: os.path.relpath (पथ, प्रारंभ करें) = os.curdir)
पैरामीटर:
पथ: एक पथ जैसी वस्तु जो फ़ाइल सिस्टम पथ का प्रतिनिधित्व करती है।
प्रारंभ (वैकल्पिक): फ़ाइल सिस्टम पथ का प्रतिनिधित्व करने वाली पथ-जैसी वस्तु।
दिए गए पथ के सापेक्ष पथ की गणना प्रारंभ द्वारा इंगित निर्देशिका के संबंध में की जाएगी। इस पैरामीटर का डिफ़ॉल्ट मान os. दही जो एक निरंतर st . है वर्तमान निर्देशिका को संदर्भित करने के लिए ऑपरेटिंग सिस्टम द्वारा उपयोग की जाने वाली रिंग।पथ जैसी वस्तु या तो एक स्ट्रिंग या बाइट्स ऑब्जेक्ट है जो पथ का प्रतिनिधित्व करती है।
वापसी प्रकार: यह विधि एक स्ट्रिंग मान देता है जो प्रारंभ निर्देशिका से दिए गए पथ के सापेक्ष फ़ाइल पथ का प्रतिनिधित्व करता है।0222
उदाहरण:
उपयोगकर्ता द्वारा निर्दिष्ट स्तरों के अनुसार मूल निर्देशिका प्राप्त करने के लिए, हम एक फ़ंक्शन getParent ()
बनाएंगे जो एक पथ
और स्तर
के रूप में स्वीकार करेगा तर्क। फ़ंक्शन के अंदर, लूप के लिए स्तर + 1
समय संख्या दोहराएगा, और लूप के लिए
लूप के अंदर, os.path.dirname ()
को कॉल किया जाएगा। लूप के लिए इस फ़ंक्शन को कॉल करने से हमें एक प्रारंभिक बिंदु मिलेगा जिससे os.path.relpath () फ़ाइल को सापेक्ष पथ देगा।
नीचे कार्यान्वयन है।
# Python getter
# पैरेंट डायरेक्टरी
<कोड वर्ग = "कीवर्ड"> आयात <कोड वर्ग = "सादा"> ओएस पथ
<कोड वर्ग = "टिप्पणियां"> # पैरेंट पाने के लिए फंक्शन
def
getParent (पथ, लेवल
= <कोड वर्ग = "मान"> 1 <कोड वर्ग = "सादा">):
<कोड वर्ग = "सादा"> सामान्य <कोड वर्ग = "कीवर्ड"> = <कोड वर्ग = "सादा"> पथ
<कोड वर्ग = "टिप्पणियां"> # लूप के लिए उपयोग
#
# के लिए आवश्यक प्रारंभिक बिंदु os.path.relpath ()
<कोड वर्ग = "टिप्पणियां"> # प्रारंभिक बिंदु "कीवर्ड"> = <कोड वर्ग = "सादा"> os.path.dirname (सामान्य) के लिए ="सादा"> (स्तर <कोड वर्ग =" कीवर्ड "> + <कोड वर्ग =" मान "> 1 <कोड वर्ग = "सादा">):
<कोड वर्ग = "अपरिभाषित रिक्त स्थान">
<कोड class ="comments "> # निर्दिष्ट से पहले मूल निर्देशिका
# level
वापसी <कोड वर्ग = "सादा"> os.path.relpath (पथ, सामान्य)
<कोड वर्ग = "सादा"> पथ कोड> <कोड वर्ग = "कीवर्ड"> = <कोड वर्ग = "स्ट्रिंग"> ’डी:/पिचर्म प्रोजेक्ट्स/पीई thon.Engineering / Nikhil / gfg.txt’
Print
(getParent (path,
<कोड वर्ग = "मान"> 2 <कोड वर्ग = "सादा">))
बाहर निकलें :