यह जांचने के 8 तरीके हैं कि कोई फ़ाइल पायथन का उपयोग कर मौजूद है या नहीं

बाहरी फाइलों पर पायथन की निर्भरता एक महत्वपूर्ण पहलू है, किसी भी कोड को निष्पादित करने से पहले आधार/स्रोत फाइलों पर ध्यान देना बुद्धिमानी है। किसी विशेष प्रोग्राम को चलाने से पहले, आपको यह सुनिश्चित करना होगा कि आपकी स्रोत फ़ाइलें निर्दिष्ट स्थान पर मौजूद हैं।

प्रत्येक डेवलपर फॉल बैक कोड बनाने की आवश्यकता को समझता है, जो किसी शर्त को पूरा नहीं करने की स्थिति में प्रोग्राम को विफल होने से बचा सकता है। पायथन में, यह जांचने के कई तरीके हैं कि कोई फ़ाइल मौजूद है या नहीं; यहां शीर्ष तरीके दिए गए हैं जिनके बारे में आपको पता होना चाहिए।

1. कोशिश करें और बयानों को छोड़कर

कोशिश और बयान को छोड़कर एक कमांड की जांच करता है और आउटपुट उत्पन्न करता है। नीचे दिए गए कोड में, कोशिश कथन एक फ़ाइल ( testfile.txt ) खोलने का प्रयास करेगा। यदि पायथन का प्रोसेसर फ़ाइल का पता लगाने में सक्षम है, तो यह फ़ाइल को खोलेगा और परिणाम को प्रिंट करेगा फ़ाइल खुली है और उपयोग के लिए उपलब्ध है

 try:
f = open('testfile.txt')
print("File is available for use")
f.close()
except IOError:
print('File is not accessible')

यदि यह किसी त्रुटि का सामना करता है, तो यह परिणाम प्रिंट करेगा फ़ाइल पहुंच योग्य नहीं है । एक बार जब पूरा कोड संकलित और निष्पादित हो जाता है, तो यह खुली हुई फ़ाइल को बंद कर देगा यदि इसे खोला गया था।

बाहरी फाइलों पर पायथन की निर्भरता एक महत्वपूर्ण पहलू है, और आपको किसी भी कोड को निष्पादित करने से पहले आधार/स्रोत फाइलों पर ध्यान देना होगा।

किसी विशेष प्रोग्राम को निष्पादित करने से पहले, सुनिश्चित करें कि आपकी स्रोत फ़ाइलें विशिष्ट स्थान पर मौजूद हैं।

2. Os.path.isfile(पथ)

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

पहला कदम आयात os.path लाइब्रेरी का उपयोग करके अंतर्निहित फ़ंक्शन को आयात करना है। अगला कमांड जाँचता है कि फ़ाइल विशिष्ट स्थान पर मौजूद है या नहीं।

 import os.path
os.path.isfile(r"C:UsersWini BhallaDesktopPython test file.txt")

आउटपुट True लौटाता है, क्योंकि फ़ाइल विशिष्ट स्थान पर मौजूद है। यदि फ़ाइल मौजूद नहीं है, तो पायथन False लौटाएगा।

3. Os.path.exists(path)

इसी तरह के आधार पर, इम्पोर्ट ओएस लाइब्रेरी स्टेटमेंट का उपयोग यह जांचने के लिए किया जा सकता है कि निर्देशिका आपके सिस्टम पर मौजूद है या नहीं।

वाक्यविन्यास बल्कि सरल है:

 Import os.path
os.path.exists(r"C:UsersWini BhallaDesktoptest")

पिछले चरण की तरह, यदि निर्दिष्ट सिस्टम पथ पर निर्देशिका/फ़ोल्डर पाया जाता है, तो पाइथन True लौटाता है, और बाद में, False , यदि निर्देशिका/फ़ोल्डर नहीं मिलता है।

संबंधित: पायथन सीखना? यहाँ एक फ़ाइल की प्रतिलिपि बनाने का तरीका बताया गया है

4. Os.Path.Isdir(पथ)

जैसे os.path.isfile और os.path.exists() , os.path.isdir() os लाइब्रेरी का एक सब-फंक्शन है। यहाँ अंतर केवल इतना है कि यह कमांड केवल निर्देशिकाओं के लिए काम करता है। जैसा कि अपेक्षित था, इस सिंटैक्स का उपयोग निर्देशिकाओं के अस्तित्व के आधार पर एक बूलियन मान देता है।

उदाहरण के लिए:

 import os
os.path.isdir(r"C:UsersWini BhallaDesktopOS")

आउटपुट सही है , क्योंकि निर्दिष्ट पथ पर फ़ोल्डर/निर्देशिका मौजूद है।

 import os
os.path.isdir(r"C:UsersWini BhallaDesktoptestdirectory")

आउटपुट गलत है , क्योंकि निर्दिष्ट पथ पर फ़ोल्डर/निर्देशिका मौजूद नहीं है।

5. Pathlib.path.exists()

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

पाथलिब का उपयोग करने के लिए:

 import pathlib
file = pathlib.Path(r"C:UsersWini BhallaDesktopPython test file.txt")
if file.exists ():
print ("File exists")
else:
print ("File does not exist")

फ़ाइल के अस्तित्व के अनुसार, आउटपुट प्रदर्शित करेगा कि फ़ाइल निर्दिष्ट पथ में मौजूद है या नहीं। आदर्श रूप से, आपके प्रोग्राम की आवश्यकताओं के अनुसार प्रिंट स्टेटमेंट में कोड बदला जा सकता है

6. Os.listdir (पथ)

पायथन में लिस्टडिर विधि एक विशिष्ट निर्देशिका में सभी फाइलों की एक सूची देता है, जैसा कि उपयोगकर्ता द्वारा निर्दिष्ट किया गया है। हालांकि, यह विधि सबफ़ोल्डर्स में मौजूद किसी भी फाइल को वापस नहीं करेगी।

Listdir विधि केवल एक पैरामीटर, फ़ाइल पथ को स्वीकार करती है। आदर्श रूप से, फ़ाइल पथ फ़ाइल और फ़ोल्डर नाम होंगे जिन्हें आप पुनर्प्राप्त करना चाहते हैं।

मूल वाक्यविन्यास में शामिल हैं:

 os.listdir(path)

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

 import os
path = r'C:UsersWini BhallaDesktop'
files = os.listdir(path)
print (files)

यह कोड वर्तमान निर्देशिका में उपलब्ध फाइलों की सूची का प्रिंट आउट लेगा।

 import os
path = r'C:UsersWini BhallaDesktop' files = os.listdir(path)
for f in files:
if f == "test.txt":
print("File exists")
else:
print("File does not exist")

इसके अलावा, जब लूप चलाया जाता है, तो if स्टेटमेंट लॉजिक के साथ लिस्टडिर फ़ंक्शन फाइलों की सूची के माध्यम से चक्रित होगा और प्रिंट स्टेटमेंट के भीतर पारित शर्तों के आधार पर परिणामों का प्रिंट आउट लेगा।

संबंधित: पायथन में सूचियों के साथ लूप का प्रयोग करें

7. ग्लोब मॉड्यूल

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

पथ के दो संदर्भ हैं:

यदि फ़ाइल मिल जाती है, तो कोड True लौटाएगा, अन्यथा यह False लौटाएगा।

ग्लोब के उपयोग का एक उदाहरण:

 import glob
if glob.glob(r"C:UsersWini BhallaDesktoptest.txt"):
print ("File exist")
else:
print("File does not exist")

यदि फ़ाइल मिल जाती है, तो इस कोड से आउटपुट परिणाम को प्रिंट करेगा।

8. उप-प्रक्रिया

सब-प्रोसेस मॉड्यूल में टेस्ट कमांड फाइलों और निर्देशिकाओं के अस्तित्व का परीक्षण करने का एक प्रभावी तरीका है। टेस्ट कमांड केवल यूनिक्स आधारित मशीनों में काम करते हैं न कि विंडोज आधारित ओएस मशीनों में।

आप अपनी आवश्यकताओं के अनुसार निम्न आदेशों का उपयोग कर सकते हैं:

  • परीक्षण-ई: पथ के अस्तित्व की जाँच करें
  • परीक्षण-एफ: फ़ाइल के अस्तित्व की जाँच करें
  • परीक्षण-डी: एक फ़ोल्डर के अस्तित्व की जाँच करें

उप-प्रक्रिया के साथ पथ सत्यापित करना:

 from subprocess import run
run(['test', '-e', 'testfile.txt']).returncode == 0
run(['test', '-e', 'im-not-here.txt']).returncode == 0

पथ के अस्तित्व को सत्यापित करने के लिए इस कोड को '-e' के बाद परीक्षण फ़ंक्शन कहा जाता है। फ़ंक्शन एक अमान्य पथ के लिए गलत दिखाता है।

सबप्रोसेस के साथ एक फाइल को सत्यापित करना:

 run(['test', '-f', 'testfile.txt']).returncode == 0
run(['test', '-f', 'testdirectory']).returncode == 0

'-f' फ़ंक्शन फ़ाइल के अस्तित्व का परीक्षण करता है और निर्देशिका के लिए गलत लौटाता है।

सबप्रोसेस के साथ एक निर्देशिका सत्यापित करना:

 run(['test', '-d', 'testfile.txt']).returncode == 0
run(['test', '-d', 'testdirectory']).returncode == 0

'-d' फ़ंक्शन एक निर्देशिका के अस्तित्व का परीक्षण करता है और परीक्षण कमांड में किसी भी फ़ाइल क्वेरी के लिए गलत लौटाता है।

आप अपनी फाइलों का पता लगाने के लिए किस कमांड का उपयोग करेंगे?

पायथन अपेक्षाकृत उपयोग में आसान भाषा है, और यह अंतिम उपयोगकर्ताओं के लिए बहुत सारे विकल्प प्रदान करता है। किसी फ़ाइल (फ़ाइलों) के अस्तित्व की जाँच के लिए, आप ऊपर सूचीबद्ध किसी भी प्रक्रिया का उपयोग कर सकते हैं।

हालाँकि, यदि आप एक नौसिखिया हैं, तो हमेशा पायथन सीखने के तरीके होते हैं। चूंकि पायथन एक विशाल भाषा है, इसलिए विभिन्न बारीकियों और इसके आदेशों की सीमा को समझने में कुछ समय बिताना सबसे अच्छा है।