Python Pickle序列化
Pickle序列化的使用 |
介绍:序列化将一段命令转换成字符串,上传到文件内,
用的时候在从文件内把字符串转回命令,
从而实现一个挂起的功能。
案例1:
需求:使用pickle模块,在字典中将函数数据类型进行转换,并调用。
1 #序列化2 def xsk():
3 print("Kevin")
4 info = {
5 'name':'alex',
6 'age':'22',
7 "Kevin":xsk
8 }
9
10
11 f = open("test.txt","wb")
12 import pickle
13 f.write(pickle.dumps(info))
14 f.close()
15
16 #反序列化
17 def xsk():
18 print("66666666")
19 import pickle
20 f = open("test.txt","rb")
21 data = pickle.loads(f.read())
22 data["Kevin"]()
案例2:
需求:使用pickle,将转换数据导入到,文件中。
1 def xsk():2 print("Kevin")
3 info = {
4 'name':'alex',
5 'age':'22',
6 "Kevin":xsk
7 }
8 f = open("test.txt","wb")
9 import pickle
10 pickle.dump(info,f)
案例3:
需求:使用pickle读取文件中的内容。
1 def xsk():2 print("66666666")
3 import pickle
4 f = open("test.txt","rb")
5 data = pickle.load(f)
6 data["Kevin"]()
二.pickle可支持的python数据格式。
写入
import shelved = shelve.open("shelve_test")
info = {'age':22}
d["info"] = info
读取
import shelved = shelve.open("shelve_test")
d.get("info")
注:写入文件内容,会固定内存数据。
get是读取指定数据。
items是读取全部数据。
注:pickle只有在python语言中可以使用。
注:pickle默认显示二进制需要加上参数b
注:函数在转换的过程中转换的是指定的数据,不是内存地址。两个程序间的内存是不可以访问的。
注:pickle.dumps("命令"):将命令行转换成字符串。
注:pickle.loads("字符串"):将字符串转回命令。
注:pickle.load(文件名):可以实现读取文件的功能。
注:json.load(文件名):可以实现读取文件的功能。
注:写入文件,推荐只写入一次,因为默认只有一行。
注:如果要写入多次,推荐写入到不同的文件内。
以上是 Python Pickle序列化 的全部内容, 来源链接: utcz.com/z/386865.html