首页 » 编程 » python » Python3读取ANSI编码log文件报错:UnicodeDecodeError解决方案

公司使用的windows服务器,日志是IIS下的log日志文件,日志分析代码是别人写好的,用python读取的时候报错:

python3操作日志中,报错:UnicodeDecodeError

找了很多方法,python3本身的读写模式(“r” & “w”)就是需要包含encoding=‘utf-8’,不然就会报错;

file = [x.strip() for x in open('filename.log',encoding='utf8',mode='r')]

但是还是遇到报错:UnicodeDecodeError;
网上找了很多方法,最后找到使用 : errors = ‘ignore’ 解决了问题。

file = [x.strip() for x in open('filename.log',encoding='utf8',mode='r',errors='ignore')]

网上搜索了下相关的资料解释如下:

如果设置为ignore,则会忽略非法字符;
如果设置为replace,则会用?取代非法字符;
如果设置为xmlcharrefreplace,则使用XML的字符引用。

查看日志后能正确读取,没多大问题了,不知道忽略非法字符,是不是整行忽略,但影响不大,就没有深入研究。

分享到:
赞(0) 打赏 生成海报

评论 抢沙发

1 + 1 =


长按图片转发给朋友

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

Vieu4.5主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。
切换注册

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录
切换登录

注册