pickle模块
可以把对象实例化的结果通过文件操作存入文件再读取出来
读取出的结果是字典
可以直接调用
在登录注册等程序时可以简化、方便操作
import pickle class Course: def __init__(self,name,price,period): self.name = name self.price = price self.period = period python = Course('python',20000,'6 months') linux = Course('linux',15800,'5 months') import pickle with open('pickle_file','ab') as f: pickle.dump(python,f) pickle.dump(linux,f) import pickle with open('pickle_file','rb') as f: obj1 = pickle.load(f) obj2 = pickle.load(f) while True: try: obj = pickle.load(f) print(obj.__dict__) except EOFError: break
如果不知道已经存入文件的大小 可以在读取的时候采用循环读取 异常处理 避免报错
collections模块中的namedtuple
可以把创造出的命名元组转为一个类
此时的类里的属性不可更改,没有方法,就是一种元类
from collections import namedtuple Course = namedtuple('Course',['name','price','period']) python = Course('python',20000,'6 month') print(python.name) print(python.price) print(python.period) print(type(python))