Pickle 可用于序列化和反序列化对象。 可以将已序列化的对象保存并从磁盘加载。 Pickle 是一种将对象(列表,字典等)转换为文件,反之亦然的方法。
这个想法是在一个脚本中保存一个或多个对象,然后在另一个脚本中加载它们。 您也可以使用它来保存程序或游戏状态。
我们将使用二进制文件进行保存和加载,因为这样可以节省磁盘空间。
序列化对象
要使用 Pickle,请导入pickle
模块。创建一个对象并将其序列化。 然后使用文件对象将其写入文件。
import pickle
exampleObj = {'Python':3,'KDE':5,'Windows':10}
fileObj = open('data.obj', 'wb')
pickle.dump(exampleObj,fileObj)
fileObj.close()
反序列化对象
现在,该对象已保存到文件中,您可以加载它(解开它)。 在下面的示例中,我们从文件中加载对象。
加载pickle
模块,打开然后读取文件,然后使用pickle.load()
加载数据。 您可以将其加载到所需的任何变量中,但是为了方便起见,我使用了相同的名称(exampleObj
)。
import pickle
fileObj = open('data.obj', 'rb')
exampleObj = pickle.load(fileObj)
fileObj.close()
print(exampleObj)
这将向您显示以前保存的对象:
练习
请尝试以下练习:
- 从文件保存和加载对象
- 尝试从文件加载多个对象