改变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)
 

相关内容

    暂无相关文章

评论关闭