简单谈谈Python中的json与pickle
发布时间 - 2026-01-11 02:24:22 点击率:次这是用于序列化的两个模块:

• json: 用于字符串和python数据类型间进行转换
• pickle: 用于python特有的类型和python的数据类型间进行转换
Json 模块提供了四个功能:dumps、dump、loads、load
pickle 模块提供了四个功能:dumps、dump、loads、load
import pickle
data = {'k1':123, 'k2':888}
#dumps可以将数据类型转换成只有python才认识的字符串
p_str = pickle.dumps(data)
print p_str
输出结果:
(dp0
S'k2'
p1
I888
sS'k1'
p2
I123
s.
将数据转换成只有Python认识的字符串,并写入文件:
import pickle
data = {'k1':123, 'k2':888}
#打开文件,然后将data写入
with open('data.pkl', 'wb') as f:
pickle.dump(data, f)
#同样读取的时候也需要打开文件
with open('data.pkl', 'rb') as f:
data_1 = pickle.load(f)
print data_1
结果:
{'k2': 888, 'k1': 123}
文件中显示的内容与上面一致
json的用法和pickle是一样的
import json
data = {'k1':123, 'k2':888}
p_str = json.dumps(data)
print p_str, type(p_str)
结果:
{"k2": 123, "k1": 888} <type 'str'>
看起来好像是个字典,但要注意了,实际上这是个字符串,因为json只能是字符串格式,只是看起来像字典而已。
import json
data = {'k1':123, 'k2':123}
#打开文件,然后将data写入
with open('data.pkl', 'w') as f:
json.dump(data, f)
#同样读取的时候也需要打开文件
with open('data.pkl', 'r') as f:
data_1 = json.load(f)
print(data_1, type(data_1))
结果:
({u'k2': 123, u'k1': 123}, <type 'dict'>)
能够读取出来,而且类型也是正确的。
那pickle和json有什么区别呢?
在上面两段代码中,pickle写入和读取文件时,用的是 ‘b'模式,而json没有。
json是可以在不同语言之间交换数据的,而pickle只在python之间使用。
json只能序列化最基本的数据类型,而pickle可以序列化所有的数据类型,包括类,函数都可以序列化。
以上这篇简单谈谈Python中的json与pickle就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
# python
# pickle
# json
# Python序列化模块之pickle与json详解
# Python常用标准库详解(pickle序列化和JSON序列化)
# Python 对象序列化与反序列化之pickle json详细解析
# Python 解析库json及jsonpath pickle的实现
# Python标准库json模块和pickle模块使用详解
# Python之数据序列化(json、pickle、shelve)详解
# Python3.5 Json与pickle实现数据序列化与反序列化操作示例
# Python序列化基础知识(json/pickle)
# 详解Python之数据序列化(json、pickle、shelve)
# Python序列化模块JSON与Pickle
# 序列化
# 给大家
# 转换成
# 的是
# 这是
# 希望能
# 只在
# 在上面
# 特有的
# 这篇
# 这是个
# 但要
# 小编
# 有什么区别
# 大家多多
# 两段
# 是一样的
# 注意了
# load
# pre
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
网站图片在线制作软件,怎么在图片上做链接?
如何快速搭建虚拟主机网站?新手必看指南
Laravel怎么实现搜索高亮功能_Laravel结合Scout与Algolia全文检索【实战】
Java遍历集合的三种方式
潮流网站制作头像软件下载,适合母子的网名有哪些?
Python文件异常处理策略_健壮性说明【指导】
黑客如何利用漏洞与弱口令入侵网站服务器?
邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?
奇安信“盘古石”团队突破 iOS 26.1 提权
Windows家庭版如何开启组策略(gpedit.msc)?(安装方法)
Laravel如何使用Guzzle调用外部接口_Laravel发起HTTP请求与JSON数据解析【详解】
Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】
Laravel如何实现用户注册和登录?(Auth脚手架指南)
北京网站制作公司哪家好一点,北京租房网站有哪些?
Laravel如何实现RSS订阅源功能_Laravel动态生成网站XML格式订阅内容【教程】
如何挑选优质建站一级代理提升网站排名?
文字头像制作网站推荐软件,醒图能自动配文字吗?
Linux系统命令中tree命令详解
laravel服务容器和依赖注入怎么理解_laravel服务容器与依赖注入解析
Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】
英语简历制作免费网站推荐,如何将简历翻译成英文?
香港服务器部署网站为何提示未备案?
Laravel怎么实现模型属性转换Casting_Laravel自动将JSON字段转为数组【技巧】
iOS验证手机号的正则表达式
北京企业网站设计制作公司,北京铁路集团官方网站?
个人摄影网站制作流程,摄影爱好者都去什么网站?
如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南
Java Adapter 适配器模式(类适配器,对象适配器)优缺点对比
如何有效防御Web建站篡改攻击?
iOS发送验证码倒计时应用
Laravel如何设置定时任务(Cron Job)_Laravel调度器与任务计划配置
微信小程序 require机制详解及实例代码
Laravel事件监听器怎么写_Laravel Event和Listener使用教程
Laravel怎么实现观察者模式Observer_Laravel模型事件监听与解耦开发【指南】
Laravel distinct去重查询_Laravel Eloquent去重方法
如何在建站主机中优化服务器配置?
mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?
C#如何调用原生C++ COM对象详解
如何为不同团队 ID 动态生成多个非值班状态按钮
浅谈redis在项目中的应用
Laravel Eloquent性能优化技巧_Laravel N+1查询问题解决
html5的keygen标签为什么废弃_替代方案说明【解答】
西安专业网站制作公司有哪些,陕西省建行官方网站?
详解Huffman编码算法之Java实现
Laravel如何部署到服务器_线上部署Laravel项目的完整流程与步骤
简单实现jsp分页
HTML5建模怎么导出为FBX格式_FBX格式兼容性及导出步骤【指南】
零服务器AI建站解决方案:快速部署与云端平台低成本实践
Laravel Sail是什么_基于Docker的Laravel本地开发环境Sail入门
Laravel路由Route怎么设置_Laravel基础路由定义与参数传递规则【详解】

