码迷,mamicode.com
首页 > 编程语言 > 详细

python codecs模块 ---处理数据写入文件时会有编码不统一的问题

时间:2018-05-18 16:20:03      阅读:344      评论:0      收藏:0      [点我收藏+]

标签:position   ascii   AC   trace   enc   most   是什么   方法   pos   

我们用open方法打开文件有时候会有一些问题,因为open打开文件只能写入str类型,而不会管字符串是什么编码方式。

示例:

>>> fr = open(‘test.txt‘,‘a‘)

>>> line1 = "我爱祖国"

>>> fr.write(line1)

有编码不统一的时候,此时写入open方式打开的文件就有问题了。

>>> line2 = u‘我爱祖国‘

>>> fr.write(line2)

Traceback (most recent call last):

File "<pyshell#4>", line 1, in <module>

fr.write(line2) UnicodeEncodeError: ‘ascii‘ codec can‘t encode characters in position 0-11: ordinal not in range(128)

可以使用codecs.open,

>>> import codecs

>>> fw = codecs.open(‘test1.txt‘,‘a‘,‘utf-8‘)

>>> fw.write(line2)

>>>

python codecs模块 ---处理数据写入文件时会有编码不统一的问题

标签:position   ascii   AC   trace   enc   most   是什么   方法   pos   

原文地址:https://www.cnblogs.com/hixiaowei/p/9056615.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!