Python Pickle序列化

python

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 shelve

d = shelve.open("shelve_test")

info = {'age':22}

d["info"] = info

读取

import shelve

d = 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

回到顶部