पायथन में पुनरावर्ती रूप से गहरी पदानुक्रमित निर्देशिका बनाने के लिए makedirs

व्यापार

गैर-मौजूद निर्देशिका में os.mkdir () के साथ एक नई निर्देशिका बनाते समय त्रुटि

os.mkdir()यह वह तरीका है जिसका उपयोग पायथन में एक निर्देशिका (फ़ोल्डर) बनाने के लिए किया जाता है। यदि आप एक गैर-मौजूद निर्देशिका में एक नई निर्देशिका बनाने का प्रयास करते हैं, तो एक त्रुटि उत्पन्न होगी।(FileNotFoundError)

import os

os.mkdir('not_exist_dir/new_dir')
# FileNotFoundError

os.madeirs () के साथ पुनरावर्ती रूप से निर्देशिकाएँ बनाएँ

यदि आप os.mkdir() के बजाय os.makedirs() का उपयोग करते हैं, तो यह एक मध्यवर्ती निर्देशिका बनाएगा, जिससे आप पुनरावर्ती रूप से एक गहरी पदानुक्रमित निर्देशिका बना सकते हैं।

os.makedirs('not_exist_dir/new_dir')

इस उदाहरण के मामले में, यह उन सभी को एक साथ बनाएगा। यदि कई नई मध्यवर्ती निर्देशिकाएँ हैं तो यह ठीक है।

  • मध्यवर्ती निर्देशिका:not_exist_dir
  • अंतिम निर्देशिका:new_dir

हालाँकि, यदि अंतिम निर्देशिका पहले से मौजूद है, तो एक त्रुटि होगी।(FileExistsError)

os.makedirs('exist_dir/exist_dir')
# FileExistsError

अगर कोई तर्क मौजूद है_ओके

पायथन 3.2 के बाद से, तर्क मौजूद_ोक जोड़ा गया है, और यदि मौजूद_ओके = सच है, तो कोई त्रुटि नहीं होगी, भले ही अंत निर्देशिका पहले से मौजूद हो। यदि अंतिम निर्देशिका मौजूद नहीं है, तो एक नया बनाया जाएगा, और यदि यह मौजूद है, तो कुछ भी नहीं किया जाएगा। यह सुविधाजनक है क्योंकि आपको पहले से टर्मिनल निर्देशिका के अस्तित्व की जांच करने की आवश्यकता नहीं है।

os.makedirs('exist_dir/exist_dir', exist_ok=True)

यदि तर्क मौजूद है_ओके गुम है

यदि आपके पास पायथन का पुराना संस्करण है और os.madeirs में मौजूद_ओक तर्क नहीं है, तो आप यह निर्धारित करने के लिए os.path.exists का उपयोग कर सकते हैं कि कोई अंतिम निर्देशिका है या नहीं, और फिर कोई नया नहीं होने पर ही एक नया बनाएं अंत निर्देशिका।

if not os.path.exists('exist_dir/exist_dir'):
    os.makedirs('exist_dir/exist_dir')
Copied title and URL