
json模块和pickle模块的用法
在python中,可以使用pickle和json两个模块对数据进行序列化操作。
其中:
json可以用于字符串或者字典等与python数据类型之间的序列化与反序列化操作。
pickle可以用于python特有类型与python数据类型之间的序列化与反序列化操作。
json模块的用法
1. 查看json模块内的方法:
1 2 3 4 5 |
|
2. json模块常用的功能的:dumps,dump,loads,load
3.使用json.dumps方法可以将字典等数据格式化成一个字符串,这样可以方便别的编程语言进行调用。
1 2 3 4 5 6 |
|
格式化后的字符串看似跟原来的没什么两样,但是查看格式化后的类型就会发现是一个字符串,已经被json模块处理过了。
4.可以使用json.loads进行反序列化
1 2 3 4 5 6 7 8 9 |
|
5.还可以用json.dump方法把字典等数据类型序列化进入一个文件中,等待别的程序进行调用。
1 2 3 4 |
|
运行上面的代码,可以看到在同级目录下,生成一个名为“f1”的文件,打开f1文件,其内容为:
1 |
|
6.可以使用json.load方法读取文件f1中的内容:
1 2 3 4 5 |
|
打印反序列化后的数据及其类型,得到的结果为:
1 2 |
|
相关推荐:《Python视频教程》
pickle模块的用法
1.查看pickle模块内的方法:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
2.想查看某一个方法的帮助文档:
1 |
|
比如,我想知道pickle下的dump模块怎么用:
1 |
|
就可以得到pickle.dump方法的帮助文档
3.pickle模块常用的方法有:dumps,loads,dump,load
4.使用pickle.dumps对数据进行序列化操作
1 2 3 4 5 6 7 8 9 10 |
|
对数据进行序列化操作后,打印数据得到结果为:
1 2 3 4 |
|
可以看到是一堆二进制乱码
5.使用pickle.loads进行反序列化操作
1 2 3 4 5 6 7 8 9 10 |
|
打印序列化后的数据及其类型,得到结果为:
1 2 3 |
|
可以看到序列化之前是什么类型的数据,反序列化后其数据类型不变。
6.可以用pickle.dumps把列表,元组或字典序列化进一个文件中以实现永久保存。
把列表l1序列化进一个文件f1中:
1 2 3 4 5 6 |
|
7.可以使用pickle.load对文件f1进行反序列化,得到文件f1里保存的数据
1 2 3 4 |
|
反序列化之后,打印数据及其类型可以看到:
1 2 |
|
使用同样的方法,也可以把元组,或字典序列化进一个文件中以实现永久保存。