1、packle包的介绍
pickle 是 Python 中一个内置的模块,用于将 Python 对象序列化为字节流并反序列化回 Python 对象。这个模块提供了一种简单的方法来将 Python 对象转换为一种格式,可以在不同的 Python 程序之间传输,也可以存储在文件系统中。
2、使用packle包存储文件
例如我们要制作一个用于自然语言处理的数据集,例如对联的生成。那么我们可以将上联作为模型的输入,下联作为模型的输出。
import pickle
#以下是我们的数据,10条对联!
1. 前程似锦春满园,岁月如歌夜悠悠。
2. 星海潮生月影静,山川秋老叶声秋。
3. 红叶飘零送寒意,黄河滚滚奔波去。
4. 洛阳城里人如梦,长安街头雨点寒。
5. 梅花香里透幽香,松竹清风润百花。
6. 云山叠翠如画境,江水泠泠似镜心。
7. 东篱菊尽烟霞散,南岸梅开日月同。
8. 桃花流水忘忧事,竹林松雪弄晴空。
9. 碧海青天共一色,黄沙白雪各异姿。
10. 九天揽月长啸楼,万里浮云一笑愁。
那么我们可以将上联做input,下联做label。
data=[{"input":"前程似锦春满园,","label":"岁月如歌夜悠悠。"},{"input":"星海潮生月影静,","label":"山川秋老叶声秋。"}]
#接下来保存你制作的数据
with open("./duilian_data.pkl","wb") as f:
pickle.(data,f)
由此我们生成了一个pkl文件,使用pickle的好处就是你能能保留python原本的数据格式,这里使用列表存储数据,那pkl文件的组织形式就是列表的形式。
2、读取pkl文件
当我们存储了pkl文件后,我们试着读取该文件。
import pickle
with open("./duilian.pkl","rb") as f:
data=pickle.load(f)
#当我们加载文件后文件还是以列表形式存储
print(data)
print(data[0]["label"])
#相应的输出
#***************************************
[{"input":"前程似锦春满园,","label":"岁月如歌夜悠悠。"},{"input":"星海潮生月影静,","label":"山川秋老叶声秋。"}]
岁月如歌夜悠悠