posts - 92,  comments - 0,  trackbacks - 0

 在NLP的相关任务中,应用python处理中文是很常见的。在这个过程中,由于编码方式的不一致,可能会出现以下两种错误:

  1)SyntaxError:  Non-ASCII character in file ‘文件名’

  2)UnicodeDecodeError: 'ascii' codec can't decode

  解决方法是:更改Python的编码方式为utf8模式,分为单文档内的临时更改,以及全局更改两种方式

  1.单文档内临时更改:在文档的开始处第一行(前面无任何内容),加入一行代码:      # coding: utf8

    或者在文档内添加以下代码,不要求在第一行,但也一般在文档开始的部分,添加代码:      import sys      reload(sys)      sys.setdefaultencoding('utf8')

  2.全局更改在/usr/lib/python2.7目录下的sitecustomize.py文件内加入上述代码          # coding: utf8      import sys      reload(sys)      sys.setdefaultencoding('utf8')最后,中文标点的处理需要格外注意(可以按下面形式处理):        endSign="!。" endSign=endSign.decode('utf-8')这两行代码,第一行是列举的中文标点,第二行是编码为utf8,第二行不能遗漏,否则可能出现上面第二个UnicodeDecodeError:错误

posted on 2018-12-23 18:13  朋酱  阅读(...)  评论(...编辑  收藏