Python मा सजिलै डाइरेक्टरीहरू सिर्जना गर्नुहोस्: mkdir बनाम makedirs

1. परिचय

Python प्रयोग गरेर, तपाईं सजिलै फाइलहरू र डाइरेक्टरीहरू व्यवस्थापन गर्न सक्नुहुन्छ। विशेष गरी, डाइरेक्टरीहरू सिर्जना गर्नु फाइलहरू व्यवस्थित गर्ने, ब्याकअप लिने, र स्वचालित रूपमा उत्पन्न गर्ने सबैभन्दा सामान्य कार्यहरू मध्ये एक हो। यो मार्गदर्शिकाले os मोड्युल र pathlib मोड्युल प्रयोग गरेर डाइरेक्टरीहरू कसरी सिर्जना गर्ने भन्ने विस्तृत व्याख्या प्रदान गर्दछ। यसले पुनरावृत्त डाइरेक्टरी सिर्जना र त्रुटि ह्यान्डलिङ्ग पनि समेट्छ, जसले Python शुरुआतीहरूका लागि स्पष्ट बनाउने लक्ष्य राख्दछ।

2. os.mkdir() प्रयोग गरेर डाइरेक्टरीहरू सिर्जना गर्ने

आधारभूत प्रयोग

os.mkdir() निर्दिष्ट गरिएको मार्गमा एकल डाइरेक्टरी सिर्जना गर्ने आधारभूत तरिका हो। तर, यस कार्यले एउटा सीमितता राख्छ: यदि अभिभावक डाइरेक्टरी अवस्थित छैन भने यो त्रुटि उत्पन्न गर्छ। उदाहरणका लागि, तलको कोडले साधारण डाइरेक्टरी सिर्जना गर्ने विधि देखाउँछ।

import os

# Specify the path of the directory to create
dir_path = './new_directory'

# Create the directory
os.mkdir(dir_path)

यस कोडले निर्दिष्ट मार्गमा डाइरेक्टरी सिर्जना गर्छ, तर यदि त्यही नामको डाइरेक्टरी पहिले नै अवस्थित छ भने FileExistsError उत्पन्न हुन्छ। यो os.mkdir() मा ध्यान दिनुपर्ने बुँदा हो।

त्रुटि ह्यान्डलिङ्ग

डाइरेक्टरी सिर्जना गर्नु अघि त्यसले पहिले नै अवस्थित छ कि छैन जाँच गरेर त्रुटिहरूलाई रोक्न सकिन्छ। तलको कोड यसको उदाहरण हो।

import os

# Specify the path of the directory to create
dir_path = './new_directory'

# Check whether the directory exists
if not os.path.exists(dir_path):
    os.mkdir(dir_path)
else:
    print(f"The directory '{dir_path}' already exists.")

यस विधि प्रयोग गरेर, पहिले नै अवस्थित डाइरेक्टरीलाई पुनः सिर्जना गर्ने प्रयास गर्दा उत्पन्न हुने त्रुटिहरूलाई टाल्न सकिन्छ।

3. os.makedirs() प्रयोग गरेर पुनरावृत्त डाइरेक्टरी सिर्जना

पुनरावृत्त डाइरेक्टरी सिर्जना

os.makedirs() लाई os.mkdir() को सुपरसेट मान्न सकिन्छ। यो एकै पटक धेरै स्तरका डाइरेक्टरीहरू सिर्जना गर्न सक्छ, र अभिभावक डाइरेक्टरी नअवस्थित भए पनि मध्यवर्ती डाइरेक्टरीहरू सिर्जना गर्न सक्षम हुन्छ।

import os

# Path including intermediate directories
dir_path = './parent_directory/sub_directory'

# Create directories recursively
os.makedirs(dir_path)

यस उदाहरणमा, parent_directory र यसको sub_directory एकै साथ सिर्जना गरिन्छ। मध्यवर्ती डाइरेक्टरीहरू नअवस्थित भए पनि सबै डाइरेक्टरीहरू त्रुटि बिना सिर्जना हुनसक्ने यो सुविधाले उच्च उपयोगिता देखाउँछ।

exist_ok=True प्रयोग गरेर त्रुटि ह्यान्डलिङ्ग

os.makedirs() मा exist_ok विकल्प हुन्छ, जसले डाइरेक्टरी पहिले नै अवस्थित भए पनि त्रुटि नउठाई प्रक्रिया जारी राख्न अनुमति दिन्छ।

import os

dir_path = './parent_directory/sub_directory'

# Do not raise an error even if the directory already exists
os.makedirs(dir_path, exist_ok=True)

यस विधि प्रयोग गर्दा डाइरेक्टरी पहिले नै अवस्थित छ कि छैन पूर्वजाँच गर्नुपर्ने आवश्यकता हट्छ, जसले त्रुटि ह्यान्डलिङ्गलाई सरल बनाउँछ।

4. pathlib मोड्युल प्रयोग गरेर डाइरेक्टरीहरू सिर्जना गर्ने

पाथ वस्तुहरू प्रयोग गरेर डाइरेक्टरी सिर्जना

pathlib मोड्युल Python 3.4 र त्यसपछिका संस्करणहरूमा उपलब्ध फाइलसिस्टम पाथ अपरेसनहरू गर्नको लागि सुविधाजनक मोड्युल हो। Path() वस्तुहरूले कोडको पढ्नयोग्यतालाई सुधार गर्छ।

from pathlib import Path

# Specify the directory path
dir_path = Path('./new_directory')

# Create the directory
dir_path.mkdir()

pathlib को फाइदा भनेको यो वस्तु‑उन्मुख पाथ म्यानिपुलेशनलाई सम्भव बनाउँछ, जसले कोडलाई अधिक सहज बनाउँछ।

पुनरावृत्त डाइरेक्टरी सिर्जना र त्रुटि ह्यान्डलिङ्ग

pathlib प्रयोग गरेर पुनरावृत्त डाइरेक्टरी सिर्जना गर्दा पनि केवल विकल्प निर्दिष्ट गरेर सजिलै हासिल गर्न सकिन्छ।

from pathlib import Path

# Path including intermediate directories
dir_path = Path('./parent_directory/sub_directory')

# Create including intermediate directories
dir_path.mkdir(parents=True, exist_ok=True)

यस कोडमा, मध्यवर्ती डाइरेक्टरीहरू सहित धेरै स्तरका डाइरेक्टरीहरू एकै साथ सिर्जना गरिन्छ, र यदि डाइरेक्टरीहरू पहिले नै अवस्थित छन् भने कुनै त्रुटि उत्पन्न हुँदैन।

5. डाइरेक्टरीको अस्तित्व जाँच र त्रुटि ह्यान्डलिङ्ग

एउटा निर्देशिका पहिले नै अस्तित्वमा छ वा छैन भनेर जाँच गर्नु त्रुटि ह्यान्डलिङको आधारभूत भाग हो। निर्देशिकाको अस्तित्व जाँच गर्न र सुरक्षित रूपमा निर्देशिका सञ्चालन गर्न os मोड्युल र pathlib प्रयोग गर्नुहोस्।

os मोड्युल प्रयोग गरेर जाँच विधि

import os

dir_path = './new_directory'

if os.path.exists(dir_path):
    print(f"Directory '{dir_path}' already exists.")
else:
    print(f"Directory '{dir_path}' does not exist.")

pathlib प्रयोग गरेर जाँच विधि

from pathlib import Path

dir_path = Path('./new_directory')

if dir_path.exists():
    print(f"Directory '{dir_path}' already exists.")
else:
    print(f"Directory '{dir_path}' does not exist.")

६. सारांश

यो लेखमा, हामीले पाइथन प्रयोग गरेर निर्देशिकाहरू सिर्जना गर्ने विभिन्न तरिकाहरूको विस्तृत व्याख्या प्रदान गरेका छौं। मैले os.mkdir()os.makedirs() बीचको भिन्नता सिकें, जसमा पुनरावृत्ति निर्देशिका सिर्जना र त्रुटि ह्यान्डलिङ कसरी ह्यान्डल गर्ने समावेश छ। यसबाहेक, मैले पत्ता लगाएँ कि पाइथनको नयाँ मानक मोड्युल pathlib प्रयोग गरेर, म सरल र पढ्न सकिने कोड लेख्न सक्छु।

तपाईंको प्रयोगको लागि सबैभन्दा उपयुक्त विधि छान्नुहोस् र कुशल निर्देशिका सञ्चालन गर्नुहोस्।

侍エンジニア塾