अजगर | os.makedirs () विधि

|

ओएस मॉड्यूल में सभी फ़ंक्शन अमान्य या पहुंच से बाहर फ़ाइल नाम और पथ या अन्य तर्कों के लिए OSError बढ़ाते हैं जो सही प्रकार के हैं लेकिन ऑपरेटिंग सिस्टम द्वारा स्वीकार नहीं किए जाते हैं।

os.makedirs () पायथन में एक निर्देशिका को पुनरावर्ती रूप से बनाने के लिए प्रयोग किया जाता है। इसका अर्थ यह है कि लक्ष्य निर्देशिका बनाते समय, यदि कोई मध्यवर्ती स्तरीय निर्देशिका अनुपलब्ध है, तो os.makedirs() उन सभी का निर्माण करेगा।
उदाहरण के लिए, निम्न पथ पर विचार करें:

/ घर / उपयोगकर्ता / दस्तावेज़ / GeeksForGeeks / लेखक / ihritik 

मान लीजिए कि हम "ihritik" निर्देशिका बनाना चाहते हैं, लेकिन पारगमन के दौरान " GeeksForGeeks "और" क्रेडिट "उपलब्ध नहीं हैं। फिर os.makedirs() निर्दिष्ट पथ पर संपूर्ण दुर्गम/अनुपलब्ध निर्देशिका बनाएगा। पहले GeeksForGeeks और लेखक बनाए जाएंगे, फिर ihritik निर्देशिका बनाई जाएगी।

वाक्यविन्यास: os.makedirs (पथ , मोड = 0o777, मौजूद_ओके = गलत)

पैरामीटर:
पथ : एक पथ-जैसी वस्तु जो फ़ाइल सिस्टम पथ का प्रतिनिधित्व करती है। पथ जैसी वस्तु या तो एक स्ट्रिंग या बाइट्स वस्तु होती है जो पथ का प्रतिनिधित्व करती है।
मोड (वैकल्पिक): नव निर्मित निर्देशिका के मोड का प्रतिनिधित्व करने वाला एक पूर्णांक मान.. डिफ़ॉल्ट मान Oo777 का उपयोग किया जाता है। यदि लक्ष्य निर्देशिका पहले से मौजूद है तो OSError उठाया जाता है यदि इसका मान गलत है अन्यथा नहीं।

वापसी प्रकार: यह विधि कोई मान नहीं लौटाती है।

कोड # 1: ओएस का उपयोग करना।makedirs () निर्देशिका बनाने की विधि


# Python प्रोग्राम को os को समझाने के लिए।makedirs () विधि


# मॉड्यूल आयात os code>

import os


# लीफ डायरेक्टरी

डायरेक्टरी = <कोड वर्ग = "स्ट्रिंग"> "ihritik"


<कोड वर्ग = "टिप्पणियां"> # मूल निर्देशिका

<कोड वर्ग = "सादा"> parent_di r < कोड वर्ग = "कीवर्ड"> = <कोड वर्ग = "स्ट्रिंग"> "/ घर / उपयोगकर्ता / दस्तावेज़ / GeeksForGeeks / लेखक"


<कोड वर्ग = "टिप्पणियां"> # पथ

<कोड वर्ग = "सादा"> पथ <कोड वर्ग = "कीवर्ड"> = <कोड वर्ग = "सादा" > os.path.join ((parent_dir, निर्देशिका)


# निर्देशिका बनाएं
# ' इहितिक '
os.makedirs (पथ) code>

Print ( "Directory`% s` create किया गया " % Directory)


# निर्देशिकाएं ' GeeksForGeeks ' और ' लेखक ' होगा
# भी बनाया जाएगा
# अगर यह मौजूद नहीं है



="कीवर्ड"> = <कोड क्लास ="स्ट्रिंग ">" सी "


# मूल निर्देशिका

<कोड वर्ग = "सादा"> माता-पिता_दिर <कोड वर्ग = "कीवर्ड"> = <कोड वर्ग = "स्ट्रिंग">" / होम / उपयोगकर्ता / दस्तावेज़ / पायथन। इंजीनियरिंग / ए / बी "


# मोड

<कोड वर्ग ="सादा "> मोड <कोड वर्ग ="कीवर्ड"> = <कोड वर्ग ="मान "> 0o666


कोड वर्ग = "सादा"> पथ <कोड वर्ग = "कीवर्ड"> = <कोड वर्ग = "सादा" > os.path.join ((parent_dir) , निर्देशिका)


# निर्देशिका बनाएं
# ' ग '


os.makedirs (पथ, मोड)

Print ( "Directory`% s` create" % Directory)


# ' GeeksForGeeks ', ' एक ' और ' ख '
# भी जेनरेट होगा अगर
# मौजूद नहीं है


# अगर कोई इंटरमीडिएट लेवल
# कोई कैटलॉग नहीं
# ओएस। > # उन्हें बनाएं


The # os.makedirs () विधि हो सकती है
# एक निर्देशिका ट्री बनाने के लिए उपयोग किया जाता है कोड>

बाहर निकलें:

निर्देशिका `ihritik` निर्मित निर्देशिका `c` बनाई गई 

कोड # 2: ओएस का उपयोग करते समय त्रुटियां।makedirs () विधि


# Python प्रोग्राम to e xplain मेट os.makedirs () कोड


< कोड वर्ग = "टिप्पणियां"> # ओएस मॉड्यूल का आयात

<कोड वर्ग = "कीवर्ड"> आयात <कोड वर्ग = "सादा"> ओएस


# os.makedirs () विधि कॉल करेगी
# OSE त्रुटि यदि निर्देशिका
# बनाने के लिए पहले से मौजूद है



# Directory

Directory = <कोड वर्ग = "स्ट्रिंग"> "ihritik"


<कोड वर्ग = "टिप्पणियां"> # मूल निर्देशिका के लिए पथ

<कोड वर्ग = "सादा"> parent_dir <कोड वर्ग = "कीवर्ड"> = <कोड वर्ग = "स्ट्रिंग"> "/ घर / उपयोगकर्ता / दस्तावेज़ / GeeksForGeeks"


<कोड वर्ग = "टिप्पणियां"> # पथ

<कोड वर्ग = "सादा"> पथ <कोड वर्ग = "कीवर्ड"> = <कोड वर्ग = "सादा"> os.path.join ((parent_dir, निर्देशिका)


# निर्देशिका बनाएं
# ' इहितिक '
os.makedirs (पथ) code>

Print ( " Directory `% s` बनाई गई " % डायरेक्टरी)

तालिका>

बाहर निकलें:

ट्रेसबैक (सबसे हाल की कॉल अंतिम): फ़ाइल "makedirs.py", लाइन 21, os.makedirs (पथ) फ़ाइल "/usr/lib/python3.6/os.py", लाइन 220, makedirs mkdir (नाम, मोड) FileExistsError: [Errno 17] फ़ाइल मौजूद है: `/ होम / उपयोगकर्ता / दस्तावेज़ / GeeksForGeeks / ihritik` 

कोड # 3: त्रुटि प्रबंधन जब ओएस का उपयोग करना।makedirs () मेथड


# Python प्रोग्राम टू ओएस की व्याख्या करें।makedirs () विधि


< कोड वर्ग = "टिप्पणियां"> # ओएस मॉड्यूल का आयात

<कोड वर्ग = "कीवर्ड"> आयात <कोड वर्ग = "सादा"> ओएस


# os.makedirs () विधि कॉल करेगी
# OSE एरर अगर डायरेक्टरी
# बनाने के लिए पहले से मौजूद है < br> # लेकिन इसे दबाया जा सकता है
# पैरामीटर मान सेट करना
सच के रूप में # मौजूद_ ठीक है


<कोड वर्ग = "टिप्पणियां"> # निर्देशिका

<कोड वर्ग = "सादा"> निर्देशिका कोड> <कोड वर्ग = "कीवर्ड"> = <कोड वर्ग = "स्ट्रिंग"> "इहृतिक"


# पैरेंट डायरेक्टरी का पाथ

parent_dir कोड> <कोड वर्ग = "कीवर्ड"> = <कोड वर्ग = "स्ट्रिंग"> "/ घर / ihritik / डेस्कटॉप / GeeksForGeeks"


<कोड वर्ग = "टिप्पणियां"> # पथ

कोड वर्ग = "सादा"> पथ <कोड वर्ग = "कीवर्ड"> = <कोड वर्ग = "सादा" "> os.path.join ((parent_dir, निर्देशिका)


# निर्देशिका बनाएं
# ' इऋतिक '

कोशिश करें :

os.makedirs (पथ, मौजूद_ओके = True )

< कोड वर्ग = "कीवर्ड"> प्रिंट <कोड वर्ग = "सादा"> (< / कोड> <कोड वर्ग = "स्ट्रिंग"> "निर्देशिका`% s `सफलतापूर्वक बनाया गया" <कोड वर्ग = "कीवर्ड">% <कोड वर्ग = "सादा"> निर्देशिका)

<कोड वर्ग = "कीवर्ड"> को छोड़कर <कोड वर्ग = "सादा" > त्रुटि के रूप में OSError:

Print ( " निर्देशिका `% s` नहीं बनाई जा सकती " )


# Existence_of_s को True के रूप में सेट करना
# एक त्रुटि पहले ही फेंक दी गई है
# मौजूदा निर्देशिका को दबाया जा सकता है
# लेकिन एक और OSError उठाया जा सकता है
# किसी अन्य त्रुटि के कारण जैसे
# अमान्य पथ

बाहर निकलें:

निर्देशिका `ihritik` सफलतापूर्वक बनाई गई 

लिंक: https://docs.python.org/3/library/os. एचटीएमएल