Python标准库json模块和pickle模块使用详解

作者:新兵蛋子 时间:2021-12-24 16:17:14 

将Python数据类型转换为其他代码格式叫做(序列化),而json就是在各个代码实现转换的中间件。

序列化要求:

1. 只能有int,str,bool,list,dict,tuple的类型支持序列化。

2. json序列化是以字符串形式出现。那么:lis= "[11,22,33]" 这样的也能称为序列化。

3. 必须将数据类型包裹在list或dict内进行转换。

4. json内部的str格式,必须以双引号来进行包裹。

5. bool值转换为小写的首字母

json.dumps

将py转换为json(序列化)格式的字符串


lis = [11,22,33]
json_lis = json.dumps(lis)
print(type(json_lis))
#<class 'str'>

如果序列化时,存在中文,那么默认将会以unnicode类型转换。可以使用:


v = [1,2,3,4,'哈哈']
data= json.dumps(v)
print(data)

#[1, 2, 3, 4, "\u54c8\u54c8"]

#################################
v = [1,2,3,4,'哈哈']
data= json.dumps(v,ensure_ascii=False)
print(data)

#[1, 2, 3, 4, "哈哈"]

将序列化格式字符串,反序列化为python文件格式。


lis = [11,22,33]
json_lis = json.dumps(lis)
lis_1 = json.loads(json_lis)
print(type(lis_1))

将序列化好的内容直接存放到一个文件内。load为直接读取文件内序列化的内容进行反序列化。


import json
v = [1,2,3,4,'哈哈']
with open('test.txt',mode='w',encoding='utf-8') as f:
 json.dump(v,f,ensure_ascii=False)

pickle模块:

pickle的使用方式和json完全一样,需要注意的是:

1. pickle只支持python类型的转换,而json支持其他代码语言的转换。

2. pickle可以将python中所有数据类型进行转换,而json不能转换元组(转换成列表)和集合,而且必须套到列表或字典中。

3. json序列化后的类型为字符串类型,而pickle所序列化的类型为bytes类型。

来源:https://www.cnblogs.com/xinbing/p/12449659.html

标签:Python,标准库,json,pickle,模块
0
投稿

猜你喜欢

  • python 画函数曲线示例

    2022-09-05 03:29:24
  • 一文带你深入理解Go语言中的sync.Cond

    2024-04-25 15:28:48
  • pytorch 实现删除tensor中的指定行列

    2023-05-22 14:26:26
  • Python字典推导式将cookie字符串转化为字典解析

    2023-02-26 14:22:17
  • Python+OpenCV实现分水岭分割算法的示例代码

    2021-01-11 05:01:38
  • 使用pytorch提取卷积神经网络的特征图可视化

    2023-02-01 20:32:30
  • 使用动画实现微信读书的换一批效果(两种方式)

    2023-10-23 14:30:55
  • opencv-python+yolov3实现目标检测

    2022-01-18 06:45:17
  • 关于jupyter lab安装及导入tensorflow找不到模块的问题

    2023-05-13 18:03:32
  • Html中 IFrame的用法及注意点

    2023-07-02 05:30:16
  • 基于TensorFlow中自定义梯度的2种方式

    2023-02-02 22:34:41
  • python挖矿算力测试程序详解

    2022-01-06 18:19:29
  • PyQt实现界面翻转切换效果

    2023-12-27 04:49:46
  • python神经网络使用Keras构建RNN训练

    2021-07-19 21:12:15
  • asp textarea 多行数组分割处理方法

    2011-03-03 10:55:00
  • python实现矩阵和array数组之间的转换

    2022-03-19 16:31:21
  • python文件与路径管理方法

    2022-06-15 13:38:06
  • Navicat查询结果不能修改的原因及解决方法

    2024-01-24 07:09:15
  • Python使用爬虫猜密码

    2023-03-21 12:38:39
  • Python修改Excel数据的实例代码

    2021-05-24 12:40:29
  • asp之家 网络编程 m.aspxhome.com