我喜歡用csv閱讀器讀取ASCII文件列表(utf-8)。 對於錯誤處理,我喜歡檢測用戶是否因意外選擇了無法讀取的文件。 來源是這樣的:用csv閱讀器檢測錯誤的文件格式
for File in Filenames:
print ('... processing file :',File)
with open(File, 'r') as csvfile:
Reader = csv.reader(csvfile, delimiter = ';')
for Line in Reader:
print(Line)
我用戶選擇例如其GZIPed我得到了消息文件:
(結果,消耗)= self._buffer_decode(數據,self.errors,最終) UnicodeDecodeError錯誤: 'UTF-8' 編解碼器不能在位置1解碼字節0x8b:無效的起始字節
哪一個可以,但腳本崩潰。 我沒有找到如何捕捉錯誤並強制腳本跳轉到列表中的下一個文件。我發現了很多關於方言和其他編解碼器的內容,但我的任務是不通過更改編解碼器來閱讀錯誤的文件。
非常感謝您的任何評論!
你真的不得不在'try'中包裝'with'嗎?它可以通過一個錯誤嗎? –
IIRC,它是引發UnicodeDecodeError的open()的TextWrapper。 –
非常感謝! –