序列化:把内存中的数据保存到文件
pickle.dump(对象, open("book.data", "wb"))
反列化:把文件中的内容加载到内存
pickle.load(open("book.data", "rb"))
import os
import pickle
class Book(object):
def __init__(self, num, name, position):
self.num = num
self.name = name
self.position = position
def __str__(self):
"""自定义print对象时显示的格式"""
return f"{self.num}\t{self.name}\t{self.position}"
class BookManage(object):
book_list = []
def __init__(self):
# 构造方法__init__
# __init__方法在对象被初始化的时候,自动执行
print("__init__ is running ...")
# 加载文件到内存
# 避免异常有两种方法:一、加判断;二、异常处理
if not os.path.isfile("book.data"):
pickle.dump(self.book_list, open("book.data", "wb")) # 把对象保存到文件
# 确保每次运行程序前,先