def save(file,**kwargs):
"""
Save the value of some data in a file.
Usage: save('misdatos.pypic',a=a,b=b,test=test)
"""
import cPickle
f=open(file,"wb")
cPickle.dump(kwargs,f,protocol=2)
f.close
def restore(file):
"""
Read data saved with save function.
Usage: datos = restore('misdatos.pypic')
"""
import cPickle
f=open(file,"rb")
result = cPickle.load(f)
f.close
return result
For example (notice I use to import my stuff as CM):
CM.save('data3.pypic',data3=data3,a=a,b=b)
and
dd=CM.restore('data3.pypic')
take a small second to write and read.
Something interesting:
dd is a dictionary containing the 3 variables data3, a and b.
Now if I want to use data3, I can "extract" it:
data3 = dd['data3']
Nice, and very quick, as it's not a copy, but rather an object poiting to the same memory place:In [15]: data3 is dd['data3']
Out[15]: True
In [16]: id(data3)
Out[16]: 4393756504
In [17]: id(dd['data3'])
Out[17]: 4393756504
Nice way to do the things ;-)
ADD:
Some people can find easier to save data using
save(file,"data")
others will prefere:
save(file,data=data)
You can use both with the following save function:
others will prefere:
save(file,data=data)
You can use both with the following save function:
def save(file,*args,**kwargs):
"""
Save the value of some data in a file.
Usage: save('misdatos.pypic','a',b=b)
"""
import cPickle
f=open(file,"wb")
dico = kwargs
for name in args:
dico[name] = eval(name)
cPickle.dump(dico,f,protocol=2)
f.close
"""
Save the value of some data in a file.
Usage: save('misdatos.pypic','a',b=b)
"""
import cPickle
f=open(file,"wb")
dico = kwargs
for name in args:
dico[name] = eval(name)
cPickle.dump(dico,f,protocol=2)
f.close