Linux ubuntu下python处理中文(汉字及标点)的编码设置

在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:错误

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值