在深度学习中,其中很重要的一步就是进行数据的准备,当然有很多数据的保存方式,下面介绍一种读写使用都非常方便的一中方式,使用pickle来保存数据
import pickle
d = dict(name='Felaim', age=26, score=90)
pickle.dumps(d)
b'\x80\x03}q\x00(X\x04\x00\x00\x00nameq\x01X\x06\x00\x00\x00Felaimq\x02X\x03\x00\x00\x00ageq\x03K\x1aX\x05\x00\x00\x00scoreq\x04KZu.'
pickle.dumps()方法把任意对象序列化成一个bytes,然后,就可以把这个bytes写入文件。或者用另一个方法pickle.dump()直接把对象序列化后写入一个file-like Object:
f = open('dump.txt', 'wb')
pickle.dump(d, f)
f.close()
保存成txt类型,当然打开是无法正确显示的
那我们要如何使用保存的数据呢?
f2 = open('dump.txt', 'rb')
d2 = pickle.load(f2)
f2.close()
print(d)
{'name': 'Felaim', 'age': 26, 'score': 90}
我们做的其实就是把变量从内存中变成可以存储或传输的方式,这个过程其实就是序列化,也就是对应着dump和dumps的操作,反之,把保存的文件读取出来,也就是从磁盘到内存中,这种过程就是反序列化的过程,对应着上述load的过程。