我正在開發一個逐行分析日誌文件的Python 3腳本。 它需要的日誌文件分析作爲參數,並進行處理:處理包含奇怪字符的日誌文件時避免錯誤
parser = argparse.ArgumentParser(description="logfile analysis")
parser.add_argument("logfile", help="log file to analyse")
args = parser.parse_args()
with open(args.logfile, 'r') as f:
for line in f:
(... processing ...)
然而,有時候,這些日誌文件包含了非常奇怪的字符。 我甚至不知道如何複製和粘貼在這裏這些字符,所以這裏是一個文本編輯器的截圖:
而且在這種情況下,我有以下異常:
Traceback (most recent call last):
File "loganalysis.py", line 525, in <module>
main()
File "loganalysis.py", line 512, in main
for line in f:
File "/usr/lib/python3.2/codecs.py", line 300, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc0 in position 2265: invalid start byte
我如何在處理它們之前清理這些行的內容,或者在沒有腳本崩潰的情況下忽略它們?
謝謝!
謝謝!看起來像它解決了我的問題:) – Pierre