现象一:脚本在本地运行正常,但是放到开发机上运行报错,现象是
利用IO的open函数读取中文文件,在read或readline这一步直接会报 'ascii' codec can't decode byte 0xe7 in position 11: ordinal not in range(128)
所以Python3 利用IO的open读取中文文件如果卡在这一步,可以用如下方法:
第一种:open函数指名encoding
open('stopwords.txt', encoding = 'utf-8')
第二种:codecs调用open 指名 encoding
f = codecs.open('文件路径','r+',encoding=编码格式)
text = f.readline()
f.close()
现象二:中文与\x进行转换
>>>print("方法".encode('utf-8'))
b'\xe6\x96\xb9\xe6\xb3\x95'
>>> print(b'\xe5\xbc\xa0\xe8\x82\xb2\xe6\x96\x87'.decode('utf-8'))
张育文
现象三:中文与unicode进行转换
>>> str_a=u'\u4e0d\u8fbe\u6807'
>>> str_a.encode('utf-8').decode()
'不达标'
网友评论