python模块(json和pickle模块)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python模块(json和pickle模块)相关的知识,希望对你有一定的参考价值。

json和pickle模块,两个都是用于序列化的模块

• json模块,用于字符串与python数据类型之间的转换

• pickle模块,用于python特有类型与python数据类型之间的转换

两个模块,都提供了dumps,dump,loads,load 4个功能

 1 import json
 2 s = {"key1":"value1","key2":"value2"}  # ==> 用json模块将字符串转化成其他数据类型,字符串里出现引号必须用双引号
 3 ret = json.loads(s)  # ==> loads 由字符串转其他数据类型
 4 print(ret,type(ret))
 5 
 6 ret = json.load(open(ethan.txt,r)) # ==> 将文档(内部是字符串格式)转换成python的其他数据类型
 7 print(ret,type(ret))  # ==> 文档里是字典样式的字符串
 8 
 9 l = [11,22,3,56,75]
10 result =json.loads(l)
11 print(result,type(result))
12 # 总结:
13 # json.loads()用于将形似字典、列表、元组的字符串,转换成字典、列表、元组
14 # json.load() 用于将文档(内容是形似字典、列表、元组的字符串)转换成字典、列表、元组
15 
16 di = {"key1":"value1","key2":"value2"}
17 ret = json.dumps(di) # ==> 将字典、列表、元组 转换成字符串格式
18 print(ret,type(ret))
19 
20 json.dump(di,open(ethan.txt,a+))  # ==> 将字典、元组、列表转换成字符串格式并写入文档
21 
22 import pickle
23 
24 d = {name:ethan,age:28}
25 ret = pickle.dumps(d) # ==> pickle将字典、元组、列表转换成二进制
26 print(ret,type(ret))
27 
28 l = [11,22,3,45,54]
29 res = pickle.dumps(l)
30 print(res)
31 
32 pickle.dump(d,open(ethan.txt,ab)) # ==> 将字典、元组、列表转换成二进制写入文档
33 
34 # 注意 dump load 不要一起运行,会报错,一步一步来
35 
36 f = open(ethan.txt,rb)
37 r = pickle.loads(f.read()) # ==> 将二进制转换成字典、列表、元组
38 print(r)

 

以上是关于python模块(json和pickle模块)的主要内容,如果未能解决你的问题,请参考以下文章

python模块(json和pickle模块)

Python json和pickle模块

python --- json模块和pickle模块详解

70Python核心精要:json模块和pickle模块

Python序列化模块pickle和json使用和区别

python 序列化模块之 json 和 pickle