这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » Python序列化模块pickle和json使用和区别有哪些

共5条 1/1 1 跳转至

Python序列化模块pickle和json使用和区别有哪些

菜鸟
2020-12-10 18:08:23     打赏

Python序列化模块pickle和json使用和区别,这是用于序列化的两个模块:

json:用于字符串和python数据类型间进行转换

pickle:用于python特有的类型和python的数据类型间进行转换

Json模块提供了四个功能:dumps、dump、loads、load

pickle模块提供了四个功能:dumps、dump、loads、load



pickle用法

dumps可以将数据类型转换成序列化(只有python才认识)的字符串

  >>>importpickle
  >>>data={'name':'python','site':'pythontab.com'}
  >>>pstr=pickle.dumps(data)
  >>>printpstr
  (dp0
  S'name'
  p1
  S'python'
  p2
  sS'site'
  p3
  S'pythontab.com'
  p4
  s.


将数据转换成序列化字符串,并写入文件:

  importpickle
  data={'name':'python','site':'pythontab.com'}
  #打开文件,然后将data写入
  withopen('dump.data','wb')asf:
  pickle.dump(data,f)
  #同样读取的时候也需要打开文件
  withopen('dump.data','rb')asf:
  data_load=pickle.load(f)
  printdata_load


结果:

{'name':'python','site':'pythontab.com'}


文件中显示的内容与上面一致

json的用法

json的用法和pickle是一样的

importjson
data={'name':'python','site':'pythontab.com'}
jstr=json.dumps(data)
printjstr,type(jstr)


结果:



{"name":"python","site":"pythontab.com"}



注意:看起来好像是个字典,但要注意了,实际上这是个字符串,因为json只能是字符串格式,只是看起来像字典而已。

那pickle和json有什么区别呢?

json是可以在不同语言之间交换数据的,而pickle只在python之间使用。

json只能序列化最基本的数据类型,而pickle可以序列化所有的数据类型,包括类,函数都可以序列化。


最后想要了解更多关于Python发展前景趋势,请关注扣丁学堂python培训官网、微信等平台,扣丁学堂IT职业在线学习教育平台为您提供最新的Python视频教程系统,通过千锋扣丁学堂金牌讲师在线录制的Python视频教程课程,让你快速掌握Python从入门到精通开发实战技能。扣丁学堂python学习交流群:816572891。微 信 号:codingbb



工程师
2020-12-10 19:38:27     打赏
2楼

学习到了


工程师
2020-12-10 19:39:51     打赏
3楼

感谢分享


工程师
2020-12-10 19:43:14     打赏
4楼

干货


高工
2020-12-10 22:38:20     打赏
5楼

区别还是蛮大的


共5条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]