寫了一個讀取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
報錯如圖:
編碼
這是由於日誌編碼格式和讀取日誌的解碼格式不一致致使的日誌
方法一,讀取文件指定「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)