浅谈python中对于json写入txt文件的编码问题
最近一直在研究python+selenium+beautifulsoup的爬虫,但是存入数据库还有写入txt文件里面的时候一直都是unicode编码的格式。
接下来就是各种翻阅文档,查找谷歌和度娘,但是都没有具体的说明是什么问题。
结果根据自己的代码发现,原来是一句代码写到后面去了。
name = json.dumps('中国你好', ensure_ascii=False) #重点就是这一句代码 date = time.strftime('%Y-%m-%d', time.localtime(time.time())) #此处是时间转换 f = codecs.open(date + '.txt', 'a', 'utf-8') f.write('%s\n\n' % name) f.close()
分析 json.dumps('中国你好')
'中国你好' 是ascii 字符码,而不是真正的中文。
这是因为json.dumps 序列化时对中文默认使用的ascii编码
想输出真正的中文需要指定ensure_ascii=False
json.dumps中可以放置json字符串,但是也必须指定ensure_ascii=False
json.dumps : dict转成str
以上这篇浅谈python中对于json写入txt文件的编码问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。