Python Programming

Python में फ़ाइल अस्तित्व की कुशल जाँच

Spread the love

अपने पाइथन प्रोग्राम्स में फ़ाइलों को मज़बूती से संभालने के लिए, किसी भी ऑपरेशन को करने से पहले उनके अस्तित्व की जांच करने का एक विश्वसनीय तरीका आवश्यक है। यह अप्रत्याशित त्रुटियों को रोकता है और आपके कोड की समग्र स्थिरता में सुधार करता है। पाइथन इसे प्राप्त करने के लिए कई तरीके प्रदान करता है, प्रत्येक के अपने फायदे और नुकसान हैं। यह लेख तीन सामान्य और प्रभावी तरीकों का पता लगाता है:

विषयसूची

os.path.isfile() का उपयोग करना

os.path.isfile() फ़ंक्शन, जो सभी पाइथन संस्करणों में उपलब्ध है, यह जांचने का एक सीधा और कुशल तरीका प्रदान करता है कि क्या कोई फ़ाइल मौजूद है और एक नियमित फ़ाइल है (डायरेक्टरी या अन्य विशेष फ़ाइल प्रकार नहीं)। इसकी सादगी और गति के लिए यह आम तौर पर पसंदीदा तरीका है।


import os

def file_exists(filepath):
    """os.path.isfile() का उपयोग करके जांचता है कि क्या कोई फ़ाइल मौजूद है।

    Args:
        filepath: फ़ाइल का पथ।

    Returns:
        यदि फ़ाइल मौजूद है और एक नियमित फ़ाइल है, तो True, अन्यथा False।
    """
    return os.path.isfile(filepath)

filepath = "my_file.txt"
if file_exists(filepath):
    print(f"फ़ाइल '{filepath}' मौजूद है।")
else:
    print(f"फ़ाइल '{filepath}' मौजूद नहीं है।")

pathlib.Path.is_file() का उपयोग करना

पाइथन 3.4 और बाद के संस्करणों के लिए, pathlib मॉड्यूल एक अधिक आधुनिक और ऑब्जेक्ट-ओरिएंटेड दृष्टिकोण प्रदान करता है। Path.is_file() विधि एक ही जांच करने का एक स्वच्छ और पठनीय तरीका प्रदान करती है।


from pathlib import Path

def file_exists(filepath):
    """pathlib.Path.is_file() का उपयोग करके जांचता है कि क्या कोई फ़ाइल मौजूद है।

    Args:
        filepath: फ़ाइल का पथ।

    Returns:
        यदि फ़ाइल मौजूद है और एक नियमित फ़ाइल है, तो True, अन्यथा False।
    """
    return Path(filepath).is_file()

filepath = "my_file.txt"
if file_exists(filepath):
    print(f"फ़ाइल '{filepath}' मौजूद है।")
else:
    print(f"फ़ाइल '{filepath}' मौजूद नहीं है।")

फ़ाइल अस्तित्व जाँच के लिए try...except से क्यों बचें

जबकि तकनीकी रूप से FileNotFoundError की जांच करने के लिए try...except ब्लॉक का उपयोग करना संभव है, फ़ाइल अस्तित्व जांच के लिए इस दृष्टिकोण को आम तौर पर हतोत्साहित किया जाता है। यह कम कुशल है क्योंकि इसमें फ़ाइल खोलने का प्रयास शामिल है, भले ही आपको केवल यह जानने की आवश्यकता हो कि क्या यह मौजूद है। इसके अलावा, यह अन्य संभावित IOError अपवादों को मास्क कर सकता है जो फ़ाइल एक्सेस के साथ विभिन्न समस्याओं का संकेत दे सकते हैं, जिससे डिबगिंग अधिक कठिन हो जाती है।

सिफारिश: इसकी व्यापक संगतता और दक्षता के लिए os.path.isfile() को प्राथमिकता दें, या पाइथन 3.4+ में क्लीनर कोड के लिए pathlib.Path.is_file() को प्राथमिकता दें।

प्रातिक्रिया दे

आपका ईमेल पता प्रकाशित नहीं किया जाएगा. आवश्यक फ़ील्ड चिह्नित हैं *