यह ट्यूटोरियल पायथन में आवश्यक फ़ाइल और निर्देशिका हेरफेर के लिए एक व्यापक मार्गदर्शिका प्रदान करता है, os
और shutil
मॉड्यूल की शक्ति का लाभ उठाता है। हम निर्देशिकाएँ बनाना, एक्सेस करना, सूचीबद्ध करना, संशोधित करना और निकालना शामिल करेंगे, जिससे आपको अपने पायथन स्क्रिप्ट के भीतर अपनी फ़ाइल सिस्टम को प्रभावी ढंग से प्रबंधित करने के कौशल से लैस किया जा सकेगा।
विषयवस्तु की तालिका
- निर्देशिकाएँ बनाना
- वर्तमान निर्देशिका प्राप्त करना
- निर्देशिका सामग्री सूचीबद्ध करना
- कार्यशील निर्देशिका बदलना
- निर्देशिकाओं का नाम बदलना और निकालना
- पथ हेरफेर तकनीकें
- मजबूत त्रुटि हैंडलिंग
1. निर्देशिकाएँ बनाना
os
मॉड्यूल ऑपरेटिंग सिस्टम के साथ इंटरैक्ट करने के लिए फ़ंक्शन प्रदान करता है। os.mkdir()
एक एकल निर्देशिका बनाता है, जबकि os.makedirs()
नेस्टेड निर्देशिकाओं के निर्माण को संभालता है। exist_ok
पैरामीटर पहले से मौजूद निर्देशिका होने पर त्रुटियों को रोकता है।
import os
# एक एकल निर्देशिका बनाएँ
os.mkdir("my_new_directory")
# नेस्टेड निर्देशिकाएँ बनाएँ
os.makedirs("nested/directories/example", exist_ok=True)
print("निर्देशिकाएँ सफलतापूर्वक बनाई गई!")
2. वर्तमान निर्देशिका प्राप्त करना
वर्तमान कार्यशील निर्देशिका को पुनः प्राप्त करने के लिए os.getcwd()
का उपयोग करें।
import os
current_directory = os.getcwd()
print(f"वर्तमान कार्यशील निर्देशिका: {current_directory}")
3. निर्देशिका सामग्री सूचीबद्ध करना
os.listdir()
किसी पथ के भीतर सभी प्रविष्टियों (फ़ाइलें और निर्देशिकाएँ) को सूचीबद्ध करता है। केवल निर्देशिकाओं के लिए फ़िल्टर करने के लिए इसे os.path.isdir()
के साथ मिलाएँ।
import os
directory_path = "."
all_entries = os.listdir(directory_path)
directories = [entry for entry in all_entries if os.path.isdir(os.path.join(directory_path, entry))]
print("निर्देशिकाएँ:")
for directory in directories:
print(directory)
4. कार्यशील निर्देशिका बदलना
os.chdir()
वर्तमान कार्यशील निर्देशिका को बदलता है। गैर-मौजूद निर्देशिकाओं जैसी संभावित समस्याओं का प्रबंधन करने के लिए हमेशा त्रुटि हैंडलिंग (जैसे, try-except
ब्लॉक का उपयोग करके) शामिल करें।
import os
try:
os.chdir("my_new_directory")
print(f"वर्तमान कार्यशील निर्देशिका बदलकर: {os.getcwd()}")
os.chdir("..") #एक निर्देशिका स्तर ऊपर जाएँ
print(f"वर्तमान कार्यशील निर्देशिका वापस बदलकर: {os.getcwd()}")
except FileNotFoundError:
print("त्रुटि: निर्देशिका नहीं मिली।")
except OSError as e:
print(f"एक OS त्रुटि हुई: {e}")
5. निर्देशिकाओं का नाम बदलना और निकालना
os.rename()
निर्देशिकाओं का नाम बदलता है। os.rmdir()
खाली निर्देशिकाओं को हटाता है। गैर-खाली निर्देशिकाओं के लिए, अत्यधिक सावधानी के साथ shutil.rmtree()
का उपयोग करें, क्योंकि यह लक्ष्य निर्देशिका के भीतर सब कुछ पुनरावर्ती रूप से हटा देता है। इस फ़ंक्शन का उपयोग करने से पहले हमेशा महत्वपूर्ण डेटा का बैकअप लें।
import os
import shutil
# एक निर्देशिका का नाम बदलें
os.rename("my_new_directory", "renamed_directory")
# एक खाली निर्देशिका निकालें
os.rmdir("empty_directory") # "empty_directory" नामक एक खाली निर्देशिका की आवश्यकता है
# एक गैर-खाली निर्देशिका निकालें (अत्यधिक सावधानी से उपयोग करें!)
shutil.rmtree("non_empty_directory") # "non_empty_directory" नामक एक निर्देशिका की आवश्यकता है - यह इसके अंदर सब कुछ हटा देगा।
print("निर्देशिका संचालन पूर्ण।")
6. पथ हेरफेर तकनीकें
os.path
मॉड्यूल सुरक्षित और पोर्टेबल पथ हेरफेर के लिए उपकरण प्रदान करता है, जो प्लेटफ़ॉर्म-विशिष्ट समस्याओं से बचने के लिए महत्वपूर्ण है।
import os
# पथों को सुरक्षित रूप से जोड़ना
path = os.path.join("path", "to", "my", "file.txt")
# फ़ाइल का नाम और एक्सटेंशन प्राप्त करना
file_name, file_ext = os.path.splitext(path)
# जाँच करना कि क्या कोई पथ मौजूद है
if os.path.exists(path):
print("पथ मौजूद है")
7. मजबूत त्रुटि हैंडलिंग
हमेशा संभावित त्रुटियों (जैसे, FileNotFoundError
, PermissionError
, OSError
) की आशा करें और अपने कोड को मजबूत बनाने और अप्रत्याशित क्रैश को रोकने के लिए उचित त्रुटि हैंडलिंग तंत्र लागू करें।