我写了一个Python类Queue。此类基本上添加,删除和重新排列队列中的数据。
如何保存队列的数据?每当我重新运行代码时,队列中的所有数据都会丢失。
如何保存数据,以便可以使用以前保存的数据?
这是相同代码的小代码。
class Queue:
def __init__(self):
self.queue = list()
def add(self, item):
if item not in self.queue:
self.queue.insert(0, item)
return True
return False
def remove(self):
print("Element Popped")
return self.queue.pop()
def size(self):
return len(self.queue)
def search_queue(self, item):
with queue.mutex:
if item in self.queue:
flag = 1
else:
flag = 0
return flag
def arrange_queue(self, item):
..............
..........
.....
答案 0 :(得分:2)
您可以使用pickle
模块在磁盘上进行数据存储和加载。
要将数据存储到文件中,可以使用pickle.dump(obj, file)
方法:
import pickle
my_queue = Queue()
my_queue.add(...) # edit your queue & add elements as you wish
with open("my_saved_queue.obj","wb+") as queue_save_file:
pickle.dump(my_queue, queue_save_file)
要使用给定文件加载数据,请使用pickle.load(file)
方法:
import pickle
with open("my_saved_queue.obj","rb") as queue_save_file:
my_queue = pickle.load(queue_save_file)
更多信息可以在官方Python文档的Persistence一章中找到。
答案 1 :(得分:1)
您必须将其保存到文件中,然后在每次运行程序时从该文件中读取
def save(list)
file=open('filename',r+)
for item in list:
file.write(item)
file.write('\n')
file.close()
r +是您打开文件的方式,它意味着一起读写,因此以后您可以按以下方式从文件中读取
for line in file.readlines():
print line
它将分别读取文件中的每一行