用python写脚本时,遇到处理中文(乱码的中文)时,用decode("utf-8")会发现始终会报错

>>> txt_from = open("/home/love/ex130705.log")

>>> txt_from_iter= iter(txt_from)

>>> txt_proc = txt_from_iter.next().decode("utf-8", "ignore")

Traceback (most recent call last):

File "/tmp/py4049kjX", line 41, in

txt_proc = txt_from_iter.next().decode("utf-8")

File "/usr/lib/python2.7/encodings/utf_8.py", line 16, in decode

return codecs.utf_8_decode(input, errors, True)

UnicodeDecodeError: "utf8" codec can"t decode bytes in position 84-85: invalid continuation byte

欲处理的原文件中部分显示为乱码:

2013-07-05 04:20:10 192.168.1.5 GET /Portals/0/鏁欒偛淇℃伅鏂囦欢澶 校园 80 - 25.XXX.10.99 Mozilla/4.0+(compatible;+MSIE+8.0;+Windows+NT+5.1;+Trident/4.0;+Alexa+Toolbar) 404 0 2 234

2013-07-05 04:20:24 192.168.1.5 GET /Portals/0/鏁欒偛淇℃伅鏂囦欢澶 校园 80 - 25.XXX.10.99 Mozilla/4.0+(compatible;+MSIE+8.0;+Windows+NT+5.1;+Trident/4.0;+Alexa+Toolbar) 404 0 2 296

这些显示乱码的中文字符是IIS在记录日志过程中出现的。python通过decode("utf-8")解码为UTF-8时会抛出异常UnicodeDecodeError。

解决:用 decode("utf-8", "ignore")

>>>

>>> txt_proc = txt_from_iter.next().decode("utf-8", "ignore")

>>>

查看decode的帮助:

help("".decode)

decode(...)

S.decode([encoding[,errors]]) -> object

Decodes S using the codec registered for encoding. encoding defaults

to the default encoding. errors may be given to set a different error

handling scheme. Default is "strict" meaning that encoding errors raise

a UnicodeDecodeError. Other possible values are "ignore" and "replace"

as well as any other name registered with codecs.register_error that is

able to handle UnicodeDecodeErrors.

python中文乱码 def decode-python处理一些乱码的中文文本时decode('utf-8')报错的处理...相关推荐

  1. python导入类有红线_python踩坑系列之导入包时下划红线及报错“No module named”问题...

    python踩坑系列之导入包时下划红线及报错"No module named"问题 使用pycharm编写Python时,自己写了一个包(commontool),在同级另一个路径下 ...

  2. python代码下出现红线_python踩坑系列之导入包时下划红线及报错“No module named”问题...

    python踩坑系列之导入包时下划红线及报错"No module named"问题 使用pycharm编写Python时,自己写了一个包(commontool),在同级另一个路径下 ...

  3. python pip下载本地依赖包,并在离线环境中安装,并解决报错ERROR: Could not find a version that satisfies the requirement报错

    文章目录 步骤1:导出依赖 步骤2:离线下载依赖包 步骤3:进入新环境使用python安装依赖 整体思路如下: 首先根据项目需要导出依赖包,由于本地的python环境中其实安装了很多乱七八糟的包,这些 ...

  4. python处理一些乱码的中文文本时decode('utf-8')报错的处理

    2019独角兽企业重金招聘Python工程师标准>>> 用python写脚本时,遇到处理中文(乱码的中文)时,用decode('utf-8')会发现始终会报错 >>> ...

  5. utf-8 python 乱码prinnt u_python处理一些乱码的中文文本时decode('utf-8')报错的处理

    用python写脚本时,遇到处理中文(乱码的中文)时,用decode('utf-8')会发现始终会报错 >>> txt_from = open('/home/love/ex13070 ...

  6. python 获取你电脑纯文本文档内容!解决IndentationError: expected an indented block报错!

    1,Windows+R启动:运行 2,输入:cmd 回车打开! 3,输入python(假设你已经安装过了python) 里面还会出现版本号! 4,输入代码: 注意:如果空格缩进不对,会报错的! 比如: ...

  7. 解决Python使用matplotlib绘图时出现的中文标签报错问题

    Python中使用matplotlib绘图时发现控制台报如下问题,可知是中文字体问题 解决方案 只需设置下参数即可,设置代码如下 import matplotlib.pyplot as pltplt. ...

  8. python3.7怎么使用arcpy_从Python到空间分析Arcpy|1.3.7 神啊!救救我之如何处理报错...

    今天讲的是关键时候不卡壳的技能,尤其是循环语句中和数据清洗中,先假设一种情况,领导安排你把,某机构给你们的坐标x和y数据列表中的每个元素的x偏移3个单位,假设你现在已经可以掌握相关的内容了,心里想太e ...

  9. python之bug0:selenium使用新版edge(chrome内核) 导致的webdriver.Edge 运行报错

    1.报错 2.前提 1.edge版本87.0.664.75 2.对应版本的驱动已经下载好msedgedriver.exe 3.msedgedriver.exe已经放置在相应的python的script ...

最新文章

  1. DataGrid中自带的分页功能的使用
  2. 【我的技术我做主】笑谈PHPer水平区分
  3. STC单片机高速下载电路改进
  4. puppet 基础篇
  5. 在hive的beeline下,Error: org.apache.thrift.transport.TTransportException: java.net.SocketException: Bro
  6. Web服务-Nginx网页服务
  7. 有趣的html代码_千万别惹程序员,否则会在代码注释里,告诉这家公司有多坑...
  8. 20个it专业术语_DevSecOps这个术语是否必要?
  9. 文件分割合并类(java)
  10. 华为机试HJ62:查找输入整数二进制中1的个数
  11. 纪念盘古工坊开发的一款手机游戏正式发布
  12. [Can‘t update] xxx in xxx has no tracked branch解决办法
  13. vue延迟渲染组件_Vue 动态组件渲染问题分析
  14. 46、微信-群聊列表
  15. php 文章分句,php 英文分句/分段落
  16. < mapreduce >论文学习笔记
  17. poi导出excel 损坏_Java使用POI生成Excel文件后打不开的问题
  18. KEIL设置程序起始地址无效解决方法,STM32 IAP程序起始地址
  19. c语言中余数恒等于1,费马小定理_KANGMANG201102_新浪博客
  20. 理解涡流--电磁炉只能加热铁磁性物质(磁化)

热门文章

  1. f12控制台如何查看consul_基于 Consul 的 Go Micro 客户端服务发现是如何实现的
  2. oracle数据库的诊断目标位置,刚安装的数据库卸载 指定数据库的诊断目标位置不存在...
  3. mysql 崩溃恢复_超详细的MySQL数据库InnoDB崩溃恢复机制总结
  4. 第六天,字典Dictionary
  5. ffmpeg 视频转ts切片 生成m3u8视频播放列表
  6. Java之品优购课程讲义_day17(2)
  7. sql不替换uid的更新数据语句
  8. android studio 65536错误的解决
  9. 揭开AS程序的外纱(四) -- 全屏模式的那点事
  10. angularjs探秘五 举足轻重的scope