Single

Python使用cPickle实现不同应用程序共享变量

注意标题所说的变量可以是python中的如整型,浮点型,类对象等等。

将变量保存到文件并使用包含两个步骤:

1.将变量保存到文件中

例如存在变量lines,类型为list,将该变量保存到文件中可以这样使用:

import cPickle

lines = [1, 2, 3]

f=open("D:\test.txt","w")
cPickle.dump(lines, f)
f.close()

2.从保存变量的文件读取变量并还原

import cPickle
 
lines_new = []
 
f=open("D:\test.txt","r")
lines_new = cPickle.load(f) 
f.close()

从结果来看步骤1中的lines变量与步骤2中的lines_new类型和取值完全相同,因此这种策略保证了Python不同应用程序之间共享变量的能力。

换个角度来看,cPickle的dump方法相当于PHP中的serialize+file_put_contents方法,功能为将要保存的变量进行序列化后保存到文件。

cPickle的load方法相当于PHP中的file_get_contents+unserialize方法,功能为将文件中保存的序列化信息读出,并反序列化还原变量。

因此在使用cPickle的dump和load方法时,需要事先知道要保存的是什么类型和值的变量,在使用load方法重新获取变量时,才能知道自己获得的是什么类型和值的变量

暂无评论

发表评论