json模块可以把字典结构改写为string然后保存,并可以反向读取字典

pickle模块则可以持久化任意数据结构

但是即使同样是字典数据结构,两个包也是有差别的,

json字典value不支持其他对象只支持python原有的结构,但是json由于是转换为string,所以保存的文件是可以使用文本查看器去读取的

pickle包则支持各种python的对象,但它写入的是二进制文件,并有自己独特的编码方式,所以是不可以查看的,只能使用python载入

方法简介,

dumps是将dict转化成str格式,loads是将str转化成dict格式。

dump和load也是类似的功能,只是与文件操作结合起来了,需要文件流作为参数(句柄,注意一个对应r一个对应w),不常用这两个方法。

dump需要一个类似于文件指针的参数(并不是真的指针,可称之为类文件对象),可以与文件操作结合,也就是说可以将dict转成str然后存入文件中;而dumps直接给的是str,也就是将字典转成str。

json.dumps()

操作将字典转化为str,而json.loads()做反向变换,

它们和保存文件的尾缀.json没有关系:

In [1]: import json
In [2]: a = {'name': 'wang', 'age': 29}
In [3]: b = json.dumps(a) In [4]: print b, type(b)
{"age": 29, "name": "wang"} <type 'str'> In [11]: json.loads(b)
Out[11]: {u'age': 29, u'name': u'wang'} In [12]: print type(json.loads(b))
<type 'dict'>

json.dumps()操作默认是ascii格式保存,一般中文字典会加上ensure_ascii=False:

json.dumps(dict(item), ensure_ascii=False)

json.loads()

将字符串转化为字典文件,示范在下文:

『Scrapy』爬取斗鱼主播头像

最新文章

  1. 《Effective C#》读书笔记
  2. hadoop初识
  3. POI2012 (持续更新中)
  4. ios uiwebview 上几个技巧
  5. access的逻辑类型
  6. java中replace和replaceAll的区别
  7. QS之vcom
  8. 在Mac OS X中使用VIM开发STM32(1)
  9. Oracle 体系结构及安全管理
  10. Visual Studio 常用快捷键总结
  11. BZOJ 2761 不重复数字 (Hash)
  12. Linux下基于Erlang的高并发TCP连接压力实验
  13. [原创] linux deepin 2014.1下编译putty
  14. 从web图片裁剪出发:了解H5中的canvas
  15. FastDFS角色配置参数思维导图
  16. [Bug] 解决 Sql Server 数据库死锁问题
  17. JNI加载hal的dlopen()相关操作
  18. Day 5-4封装.__隐藏属性或者方法
  19. ansible笔记(10):初识ansible playbook
  20. TCP 套叠字

热门文章

  1. 拉取远程仓库到本地错误The authenticity of host &#39;github.com (13.229.188.59)&#39; can&#39;t be established.
  2. 浅谈CORS
  3. mysql 触发器 trigger用法 three (稍微复杂的)
  4. js常量
  5. VC++实现获取文件占用空间大小的两种方法(非文件大小)
  6. P3952 NOIP2017 时间复杂度
  7. 试着用React写项目-利用react-router解决跳转路由等问题(三)
  8. Linux rhel7 下MySQL5.7.18详细安装文档
  9. 2017 ACM/ICPC 新疆赛区 I 题 A Possible Tree 带权并查集
  10. Linux mysql 添加远程连接