改变python输出流的编码方式
改变python输出流的编码方式
最近玩BeautifulSoup,想爬些自己喜欢的特定数据,遇到了这个问题BeautifulSoup默认把 转换成'\xa0'了,结果gbk就没法输出了
这个玩意转换不到gbk,但我系统的文件输出编码方式默认就是gbk,纠结了
所以想输出文件,需要改变文件的编码方式
python 2.4以前的版本可以f=open('out.html','w','utf-8')这样实现
但新版本呢?
查了好久,终于实现,用codecs类
f=code.open('out.html','w','utf-8')即可
然后就可以print >>f,data
或者f.write(data)了
另外附上改变标准输出流的编码方式的方法
import codecs, sys
old=sys.stdout
sys.stdout = codecs.lookup('iso8859-1')[-1]( sys.stdout)
相关内容
- 暂无相关文章
评论关闭