首页 >后端开发 >Python教程 > 正文

python序列化功能之json&pickle的详细介绍

原创2017-03-26 17:27:510614
json模块是个非常重要的模块,可以实现任何语言之间跨平台的数据交换,还可以实现一些比较简单的数据类型的持久化。(这里的持久化就是说,把python内部一些比较简单的数据类型,比如说像字符串,列表,元组,字典之类的数据类型,转换为json字符串的标准格式,保存到硬盘中。)

json模块常用函数:

json.dumps():将python以字典为主的数据类型,包括(列表,元组,等)转换为json字符串。

json.loads():将json字符串转换为python可识别的数据类型。

json.dump():将python以字典为主的数据类型,包括(列表,元组,字符串)转换为json字符串,并且通过文件句柄,将转换后的json字符串写入到文件中。

json.load():通过文件句柄,直接从文件中读取json字符串,然后转换为python可识别的数据类型。

pickle模块,只支持python程序之间的的数据交换,可以将python中一些比较复杂的数据类型,持久化。

(pickle不仅可以将字典,列表,元组,之类比较简单的数据类型保存到硬盘,还可以持久化一些比较复杂的数据类型,比如函数,类,对象等都可以存放到硬盘!)

pickle模块的常用函数:

(pickle模块常用的函数作用和json是一样的)

pickle.dumps():将python中的数据类型转换为特殊字符串或者字节(注意!在python2.7版本中pickle.dumps会将python的数据类型转换为不可读的字符串类型,在python3以上的版本使用pickle.dumps函数会直转换为bytes字节。)

pickle.loads():用于解析被pickle转换过的python数据类型。

pickle.dump()作用和dumps一样,只不过是直接通过文件句柄写入到文件中。

pickle.load()直接从文件中读取字节,解析成python可识别的数据类型。

最后总结下json模块和pickle模块的特点:

json和pickle都可以做到数据类型序列化和持久化功能。

json可以做跨平台(跨语言)的数据交换,pickle不能,pickle只能实现python和python之间的数据交换。

pickle几乎可以持久化python中所有的数据类型,类,对象,函数都可以,但是json做不到,json只能持久化一些比较简单的数据类型,比如,字符串,列表,元组,字典等。

以上就是python序列化功能之json&pickle的详细介绍的详细内容,更多请关注php中文网其它相关文章!

php中文网最新课程二维码

声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理

  • 相关标签:python序列化
  • 相关文章

    相关视频


    网友评论

    文明上网理性发言,请遵守 新闻评论服务协议

    我要评论
  • 专题推荐

    推荐视频教程
  • javascript初级视频教程javascript初级视频教程
  • jquery 基础视频教程jquery 基础视频教程
  • 视频教程分类