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