这个功能是让程序中的数据能持久性存储,后面学到数据库,可以存入。目前还没学到,就先存入文件。
如果只是存在数组,字典等数据结构,每次运行时,数据都是重新开始。
所谓的序列化,就是将数据存入文件中.反之,从文件读取数据为反序列化.
用上述方法需要导入pickle模块.
代码如下:
import pickle
#序列化
file_path = r"F:\python_example\abc.txt"
file1 = open(file_path,"wb") #用pickle,这里必须是以二进制进行读写
pickle.dump(r"111111",file1) #类似file1.write(r"111111".encode(encoding="utf-8")),这语句用utf-8编码,当read时需要用utf-8来解码.....但若dump写入进入就必须要用load进行解码,因为dump写入文件,开头会附带一些乱码,load语法会将其能正常的解开,若用read等方式,会读出前几个乱码.
file1.close()
#反序列化
file2 = open(file_path,"rb") #用pickle,这里必须是以二进制进行读写
data = pickle.load(file2) #data = file2,read().decode(encoding="utf-8")若上述用utf-8进行编码,就写这语句
print(data)
file2.close()
若看不懂红色区域的文字,就忽略它.知道黑色代码和图就可以啦