def titlesort():
titles = []
try:
with open("./aaa.txt", 'rb') as data:
for item in data:
titles.append(item.decode('utf-8'))
print titles
except IOError as err:
print str(err)
for i in titles:
a=1
print i
可以发现,print titles是诸如[u'\u56fd\u571f\u4ea4\u901a\u7701 \u6771\u5317\u5730\u65b9\u6574\u5099\u5c40\n', u'\u56fd\u571f\u4ea4\u901a\u7701 \u6771\u5317\u5730\u65b9\u6574\u5099\u5c40\n', u'i-TREK/top\n', u'\u56fd\u571f\u4ea4\u901a\u7701\u3000\u4e2d\u56fd\u5730\u65b9\u6574\u5099\u5c40\n', u'i-TREK/top\n', u'\u56fd\u571f\u4ea4\u901a\u7701\u3000\u4e2d\u56fd\u5730\u65b9\u6574\u5099\u5c40\n', u'\u56fd\u571f\u4ea4\u901a\u7701\u30fb\u95a2\u6771\u5730\u65b9\u6574\u5099\u5c40\uff1a\u6e2f\u6e7e\u7a7a\u6e2f\u90e8\n', ]这种utf-8编码,但同时单个循环输出i的话(print i),输出的正常中文。
记录一下而已
再补一条:发现其实有些时候程序中向文件中写入中文数据的时候,会出现编码格式不对出现错误的情况,其实只需要加入:
reload(sys)
sys.setdefaultencoding("utf-8")
大多数事情可以解决。