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
投稿

猜你喜欢

  • Python3创建Django项目的几种方法(3种)

    2021-12-28 00:41:44
  • python Plotly绘图工具的简单使用

    2023-06-13 01:16:17
  • 几款黑体的测试和介绍

    2008-07-18 17:09:00
  • Python中elasticsearch插入和更新数据的实现方法

    2023-02-25 02:14:20
  • JS IOS/iPhone的Safari浏览器不兼容Javascript中的Date()问题如何解决

    2023-09-23 19:39:47
  • css网页下拉菜单制作方法(4):定位问题

    2007-02-03 11:39:00
  • python高并发异步服务器核心库forkcore使用方法

    2021-12-04 18:38:24
  • Ubuntu下使用Python实现游戏制作中的切分图片功能

    2021-02-22 22:55:53
  • 基于YUV 数据格式详解及python实现方式

    2021-12-03 07:28:59
  • 请给PNG8一个机会

    2009-09-16 14:22:00
  • Python 函数返回值的示例代码

    2021-10-12 19:30:23
  • oracle 日期函数

    2010-07-23 13:32:00
  • Oracle 存储过程总结(一、基本应用)

    2009-07-07 10:21:00
  • 编写和优化SQL Server的存储过程

    2009-04-13 10:13:00
  • python列表中remove()函数的使用方法详解

    2021-05-13 22:52:46
  • 一文详解Golang 定时任务库 gron 设计和原理

    2023-08-06 21:34:38
  • java前端javascript生成动态表格示例演示

    2023-08-24 11:13:45
  • python分块读取大数据,避免内存不足的方法

    2022-09-30 13:05:17
  • PHP中SESSION使用中的一点经验总结

    2023-11-19 11:48:54
  • python使用wxPython打开并播放wav文件的方法

    2023-08-23 10:30:58
  • asp之家 网络编程 m.aspxhome.com