当前位置:首页 >> 脚本专栏

浅谈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文件的编码问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。