मैं एक कोड चलाने की कोशिश कर रहा था जहाँ मैं एक्सेल शीट पढ़ना चाहता था। मुद्दा था, अगर कोई फ़ाइल है जिसमें कोई शीट नहीं है जिसका नाम है: शीटसम मैं इसे त्रुटि स्थान पर स्थानांतरित करने में सक्षम नहीं हूं !! कोड मैंने लिखा था:
def read_file(data_file):
# data_file = '\rr\ex.xlsx'
sheets = {}
try:
print("Reading file: "+data_file)
sheets['df_1'] = pd.read_excel(open(data_file,'rb'), 'SheetSum')
except Exception as excpt:
print("Exception occurred", exc_info=True)
return sheets
read_file(file)
shutil.move( file, dirpath +'\\processed_files')
त्रुटि देना:
[WinError 32] प्रक्रिया फ़ाइल तक नहीं पहुँच सकती क्योंकि इसका उपयोग किसी अन्य प्रक्रिया द्वारा किया जा रहा है
मुझे पूरा try except with finally
ब्लॉक जोड़ना था और finally
मुझे बताना चाहिए कि मुझे किसी भी मामले में फाइल को बंद करना होगा:
def read_file(data_file):
# data_file = '\rr\ex.xlsx'
sheets = {}
try:
print("Reading file: "+data_file)
sheets_file = open(data_file,'rb')
sheets['df_1'] = pd.read_excel(sheets_file, 'SheetSum')
except Exception as excpt:
print("Exception occurred", exc_info=True)
finally:
sheets_file.close()
return sheets
read_file(file)
shutil.move( file, dirpath +'\\processed_files')
अन्यथा, फ़ाइल अभी भी खुला है पृष्ठभूमि है।
यदि finally
मौजूद है, तो यह एक सफाई हैंडलर निर्दिष्ट करता है । try
खंड किसी भी सहित निष्पादित किया जाता है, except
और else
खंड। यदि किसी खंड में अपवाद होता है और उसे नियंत्रित नहीं किया जाता है, तो
अपवाद को अस्थायी रूप से सहेज लिया जाता है । finally
खंड निष्पादित किया जाता है। यदि कोई सहेजा गया अपवाद है, तो उसे फिर से उठाया जाता हैfinally
खंड । यदि finally
खंड एक और अपवाद उठाता है, तो बचा हुआ अपवाद नए अपवाद के संदर्भ के रूप में सेट किया गया है।
.. यहाँ पर