Python读取log文件报错“UnicodeDecodeError”
问题描述:
写了一个读取log文件的Python脚本:
# -*- coding:utf-8 -*-
import os
import numpy as np
file = ‘D:\pythonfile\test.log‘
for line in open("test.log","r"):
print(line)但是在执行时报错:
执行代码报错:
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‘:
# -*- 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 以二进制读模式打开):
# -*- coding:utf-8 -*-
import os
import numpy as np
file = ‘D:\pythonfile\test.log‘
# for line in open("test.log","rb"):
print(line) 相关推荐
zhuxue 2020-10-14
zhangbingb 2020-09-21
HeronLinuxampARM 2020-09-14
美丽的泡沫 2020-09-08
goodstudy 2020-08-19
luvhl 2020-08-17
littleFatty 2020-08-16
gamestart0 2020-08-15
URML 2020-08-15
sfkong 2020-08-02
82941732 2020-07-27
偏头痛杨 2020-07-18
timewind 2020-07-04
89407707 2020-06-27
xiaoxiaoCNDS 2020-06-26
lyjava 2020-06-26
运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。以上实例中 7、5 和 12 是操作数。关系运算符用于计算结果是否为 true 或者 false。逻辑运算符用于测定变量或值之间的逻辑。
ChaITSimpleLove 2020-06-25
Strongding 2020-06-25