अस्तित्वात नसलेल्या डिरेक्टरीमध्ये 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
जर वाद असेल तर अस्तित्वात आहे_ ठीक आहे
Python 3.2 पासून, exist_ok हा वितर्क जोडला गेला आहे, आणि जर exist_ok=True असेल तर, शेवटची डिरेक्टरी आधीच अस्तित्वात असली तरीही कोणतीही त्रुटी येणार नाही. जर शेवटची निर्देशिका अस्तित्वात नसेल, तर एक नवीन तयार केली जाईल आणि ती अस्तित्वात असल्यास, काहीही केले जाणार नाही. हे सोयीचे आहे कारण तुम्हाला टर्मिनल डिरेक्ट्रीचे अस्तित्व आधीच तपासण्याची गरज नाही.
os.makedirs('exist_dir/exist_dir', exist_ok=True)
जर वितर्क अस्तित्वात असेल तर ठीक नाही
जर तुमच्याकडे Python ची जुनी आवृत्ती असेल आणि os.madeirs मध्ये exist_ok हा युक्तिवाद नसेल, तर तुम्ही os.path.exists वापरून एंड डिरेक्ट्री आहे की नाही हे निर्धारित करू शकता आणि नंतर जर नसेल तरच नवीन तयार करा. शेवटची निर्देशिका.
if not os.path.exists('exist_dir/exist_dir'): os.makedirs('exist_dir/exist_dir')