浅谈python中对于json写入txt文件的编码问题

yipeiwu_com6年前Python基础

最近一直在研究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设计】。

相关文章

Python+Socket实现基于TCP协议的客户与服务端中文自动回复聊天功能示例

Python+Socket实现基于TCP协议的客户与服务端中文自动回复聊天功能示例

本文实例讲述了Python+Socket实现基于TCP协议的客户与服务端中文自动回复聊天功能。分享给大家供大家参考,具体如下: 【吐槽】 网上的代码害死人,看着都写的言之凿凿,可运行就是...

django ajax发送post请求的两种方法

django ajax发送post请求的两种方法,具体内容如下所述: 第一种:将csrf_token放在from表单里 <script> function a...

python 初始化一个定长的数组实例

​# 有时候我们提前知道了一个数组的大小,需要给每个元素赋值,此时append好像不管用。我们需要定义一个定# # 长的数组, python中代码如下: b = [0 f...

unittest+coverage单元测试代码覆盖操作实例详解

unittest+coverage单元测试代码覆盖操作实例详解

基于上一篇文章,这篇文章是关于使用coverage来实现代码覆盖的操作实例,源代码在上一篇已经给出相应链接。 本篇文章字用来实现代码覆盖的源代码,整个项目的测试框架如下: 就是在源代码...

python fuzzywuzzy模块模糊字符串匹配详细用法

github主页 导入: >>> from fuzzywuzzy import fuzz >>> from fuzzywuzzy import p...