मैं अजगर में एक .csv फ़ाइल पढ़ना चाहता हूं।पायथन में फ़ाइल पढ़ने की कोशिश करते समय अपवादों को संभालने का एक अच्छा तरीका क्या है?
- मुझे नहीं पता कि फ़ाइल मौजूद है या नहीं।
- मेरा वर्तमान समाधान नीचे है। यह मेरे लिए मैला लगता है क्योंकि दो अलग अपवाद परीक्षण अजीब रूप से जुड़ा हुआ है।
क्या ऐसा करने का कोई शानदार तरीका है?
import csv
fName = "aFile.csv"
try:
with open(fName, 'rb') as f:
reader = csv.reader(f)
for row in reader:
pass #do stuff here
except IOError:
print "Could not read file:", fName
, गैर-मौजूद फ़ाइल एक त्रुटि मामला नहीं है, लेकिन एक संभावना परिस्थिति तो नहीं लगा पाएगा और स्पष्ट रूप से पहले अपनी अनुपस्थिति/गैर पठनीयता से निपटने (और * अतिरिक्त * करने के लिए) 'try' इसके लायक हो सकता है । यह क्रमशः 'os.path.exists (फ़ाइल)' और 'os.access (फ़ाइल, os.R_OK)' के साथ किया जा सकता है। ऐसी जांच कभी भी दौड़ की स्थिति से मुक्त नहीं हो सकती है, लेकिन फाइलों को गायब करना कभी-कभी सामान्य परिस्थिति नहीं होता है;) – stefanct
इस प्रश्न का उत्तर शायद 'pathlib' मॉड्यूल के उपयोग को शामिल करने के लिए अपडेट किया जाना चाहिए, जो इस समस्या को बहुत आसान बनाता है, और शायद मानक पायथन अभ्यास होना चाहिए (विशेष रूप से क्योंकि इसे 2.7 तक भी वापस भेज दिया गया था)। –