您的位置:首页 > 编程语言 > Python开发

python默认编码问题

2016-04-19 09:53 543 查看
在python2.7用中文会出现很多问题。

import jieba
import sys

#f=open(filename,'r')
f=open('10.txt','r')
text=f.read()
f.close()
seg_list=jieba.cut(text,cut_all=False)

f=open('1.txt','w')
for word in seg_list:
print word
f.write(word)
f.write('\n')


如上所示,写了一小段代码,先用jieba分词,再将分好的词写入.txt文件中,后台总是会报错:nicodeEncodeError: 'ascii' codec can't encode character u'\u6211' in position 0: ordinal not in range(128),即ascii码无法被转换成unicode码。

网上查到的解决方法:

python安装目录下的lib\site-packages文件夹下新建一个sitecustomize.py,文件中的代码为:

import sys
sys.setdefaultencoding('utf-8')


成功解决。

另,好像在代码里直接写不行。

在shell中查看默认编码

import sys
sys.getdefaultencoding()
发现python的编码从ascii改为utf-8。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: