最近在极客学院学习爬虫,老师用的是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()
这样就可以写入文件了。 哦也,好开心,虽然只是一个小问题被解决了。