Python3.6 f.write()函数的编码问题

最近在做一个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编码的字符串再写入文件。

你可能感兴趣的:(Python3.6 f.write()函数的编码问题)