मैं एक कोड चलाने की कोशिश कर रहा था जहाँ मैं एक्सेल शीट पढ़ना चाहता था। मुद्दा था, अगर कोई फ़ाइल है जिसमें कोई शीट नहीं है जिसका नाम है: शीटसम मैं इसे त्रुटि स्थान पर स्थानांतरित करने में सक्षम नहीं हूं !! कोड मैंने लिखा था:
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खंड एक और अपवाद उठाता है, तो बचा हुआ अपवाद नए अपवाद के संदर्भ के रूप में सेट किया गया है।
.. यहाँ पर