Python 3.x中的编码和解码问题

最近在极客学院学习爬虫,老师用的是2.x版本,而我电脑里的版本是3.x,于是在网页上查找在输出中文时如何正确输出。
我原以为2.x 3.x在很多语法上没什么区别,在解码decode上应该也差不多,没想到竟然发现,很多博客提到2.x提出的解决方案

python 2.x解码
import sys
reload(sys)
sys.setdefaultencoding(‘utf-8’)

在3.x中reload在imp包内,并且setdefaultencoding这个属性并不存在,因为3.x更先进了,请看>>点我
文章说python 3.x不用那么费心去编码,所以在解码上多做一步。

于是,如果想读取本地文件。需要这样:

python 3.x读取文件
# -- coding: utf-8 --
f = open(r’…\text.txt’, ‘rb’) # rb是读
html = f.read().decode()
#print(html)
f.close()

这样就可以读取中文了。

python 3.x写入文件
# -- coding: utf-8 --
f = open(r’…\text2.txt’, ‘wb’) # wb是写入
html = f.write(‘我们’.encode())
f.close()

这样就可以写入文件了。
哦也,好开心,虽然只是一个小问题被解决了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值