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



你可能感兴趣的:(改变python输出流的编码方式)