आप सीएसवी पाठकों को सीधे बंद नहीं करते हैं; इसके बजाय आपको जो भी फाइल-जैसी ऑब्जेक्ट का उपयोग किया जा रहा है उसे बंद करना चाहिए। उदाहरण के लिए, आपके मामले में, आप कहेंगे:
f = open('/home/rv/ncbi-blast-2.2.23+/db/output.blast')
z = csv.reader(f, delimiter='\t')
...
f.close()
आप अजगर का नवीनतम संस्करण का उपयोग कर रहे हैं, तो आप बयान, उदा उपयोग कर सकते हैं
with open('/home/rv/ncbi-blast-2.2.23+/db/output.blast') as f:
z = csv.reader(f, delimiter='\t')
...
यह लाभ यह है कि f
बंद कर दिया जाएगा, भले ही आप एक अपवाद फेंक या अन्यथा के साथ-ब्लॉक, जबकि इस तरह के मामले के अंदर लौट पिछले उदाहरण में खुला शेष फाइल करने के लिए नेतृत्व करेंगे है। दूसरे शब्दों में, यह मूल रूप से एक कोशिश/आखिरकार ब्लॉक के बराबर है, उदा।
f = open('/home/rv/ncbi-blast-2.2.23+/db/output.blast')
try:
z = csv.reader(f, delimiter='\t')
...
finally:
f.close()
स्रोत
2010-07-09 22:36:50