千家信息网

如何理解序列化的pickle和json模块

发表于:2025-01-24 作者:千家信息网编辑
千家信息网最后更新 2025年01月24日,这篇文章将为大家详细讲解有关如何理解序列化的pickle和json模块,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。用于序列化的两个模块json:用于
千家信息网最后更新 2025年01月24日如何理解序列化的pickle和json模块

这篇文章将为大家详细讲解有关如何理解序列化的pickle和json模块,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

用于序列化的两个模块
  json:用于字符串和Python数据类型间进行转换
  pickle: 用于python特有的类型和python的数据类型间进行转换
  json提供四个功能:dumps, dump, loads, load
  pickle提供四个功能:dumps, dump, loads, load

import pickledata = ['aa', 'bb', 'cc']# 转换成序列数据p_str = pickle.dumps(data)print(p_str)# 从序列转换回数据inverse_data = pickle.loads(p_str)print(inverse_data)# 转换成序列并写入文件with open('tmp.pkl', 'wb') as f:    pickle.dump(data, f)#从序列文件中读取数据with open('tmp.pkl', 'rb') as f:    data = pickle.load(f)    print(data)

注意: pickle打开文件的方式必须使用'rb'或者'wb'即使用二进制读写。

import jsondata = {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5, '你好': 6}j_data = json.dumps(data)print(j_data)with open('data.json', 'w') as f:    json.dump(data, f)# 读取数据with open('data.json', 'r') as f:    data = json.load(f)    print(data)

json打开文件的方式必须使用'r'或者'w'即使用二进制读写。

关于如何理解序列化的pickle和json模块就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

0