最近在做一个python作业,内容是中文分词
给的word2vec()函数只能处理utf-8编码的字符串
然后发现用f.write()函数写入文件时,总是以GBK编码方式写入
网上查了很多资料,也没找到头绪
后来想到C程序设计中讲到的二进制流和文本流写入,突然想到Python可不可以二进制流写入文件。
查了下,终于发现2种解决方法:
f1 = open("c:\\0415.txt",'rb+')
f2 = open("c:\\0415_2.txt", 'r+',encoding='utf-8')
f1是二进制流读写,f1.write(str.encode('utf-8')) 可以将utf-8编码的字符串str以二进制流写入文件
f2是文本流读写,指定编码格式为utf-8,f2.write(str)会自动将str转换为utf-8编码的字符串再写入文件。