Python讀取log文件報錯「UnicodeDecodeError」

問題描述:

寫了一個讀取log文件的Python腳本:python

# -*- coding:utf-8 -*-
import os
import numpy as np
file = 'D:\pythonfile\test.log'

for line in open("test.log","r"):
    print(line)

可是在執行時報錯:
執行代碼報錯:ide

Traceback (most recent call last):
  File "D:/pythonfile/my-test225.py", line 8, in <module>
    for line in open("test.log","r"):
UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 6946: illegal multibyte sequence

Process finished with exit code 1

報錯如圖:
Python讀取log文件報錯「UnicodeDecodeError」編碼

問題緣由:

這是由於日誌編碼格式和讀取日誌的解碼格式不一致致使的日誌

問題解決:

方法一,讀取文件指定「encoding='UTF-8':code

# -*- coding:utf-8 -*-
import os
import numpy as np
file = 'D:\pythonfile\test.log'

for line in open("test.log","r",encoding='UTF-8'):
    print(line)

方法二,讀取文件指定rb(rb 以二進制讀模式打開):utf-8

# -*- coding:utf-8 -*-
import os
import numpy as np
file = 'D:\pythonfile\test.log'

# for line in open("test.log","rb"):
    print(line)
相關文章
相關標籤/搜索