如何实现用户的历史记录功能(最多n条)

时间:2023-03-09 06:32:02
如何实现用户的历史记录功能(最多n条)

使用容量为n的队列存储历史记录

使用标准库collections中的deque,它是一个双端循环队列

from collections import deque
q = deque([], 5) #参数1,初始化;参数2,容量
q.append(1) #q.appendleft(1)从左端入队
q.append(2) #q.popleft(1)从左端出队
q.append(3)
q.append(4)
q.append(5)
q.append(6) #超出容量自动出队
q

执行结果:

deque([2, 3, 4, 5, 6])

使用pickle模块将历史记录存储到硬盘,以便下次启动使用

import pickle #pickle模块将python对象导出到硬盘
pickle.dump(q, open('save.pkl', 'wb')) #pickle模块要求后缀为.pkl,并且以二进制打开文件
q2 = pickle.load(open('save.pkl', 'rb')) #从文件中读取
q2

执行结果:

deque([2, 3, 4, 5, 6])