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编码的字符串再写入文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值