如何解决Python编码错误”一文

开课吧开课吧锤锤2021-06-02 15:17

点赞
有用
分享分享

    你又没有遇到过,在写代码最后运行的时候,出现运行不了,在解析其他文件的时候出现报错,那么你是如何解决的呢?今天小编为大家带来一个技术性问题是怎么解决的过程。用python解析文件(文件中含有中文),并写入其他文件时报错:

py

    UnicodeEncodeError:'ascii'codeccan'tencodecharacters

    经过google大神的指导,确定以下解决方式:

    #coding:utf-8importsysreload(sys)sys.setdefaultencoding('utf-8')

    疑问:为什么需要reload呢?

    grep-r-i'setdefaultencoding'/usr/lib/python2.7输出结果为:

    /usr/lib/python2.7/site.py:sys.setdefaultencoding(encoding)#NeedsPythonUnicodebuild!

    /usr/lib/python2.7/site.py:#Removesys.setdefaultencoding()sothatuserscannotchangethe

    /usr/lib/python2.7/site.py:ifhasattr(sys,"setdefaultencoding"):

    /usr/lib/python2.7/site.py:delsys.setdefaultencoding

    Binaryfile/usr/lib/python2.7/site.pycmatches

    把delsys.setdefaultencoding防止用户在改变defaultencoding,这个原因暂时真不知。。

    对于windows平台,上面的办法真不行,对于python2.x中,总是存在这个问题,在Python3.x的时候这真不是个事,

    对于windows平台,

    文件开头声明为#coding=utf-8,

    写入字符串时,转换编码为GBK

    file.write(str.encode('gbk'))

    还要注意的是:open(....)不能有任何运算,一次只能写入一行,所以要用+来连成一行

    #coding=utf-8

    当这些问题都解决以后,你就会发现,你已经在块成为一个高手了。以上就是小编为大家整理的“如何解决Python编码错误”一文,更多Python教程尽在开课吧广场Python教程频道。

免责声明:本站所提供的内容均来源于网友提供或网络搜集,由本站编辑整理,仅供个人研究、交流学习使用。如涉及版权问题,请联系本站管理员予以更改或删除。
有用
分享