在Python中保存队列数据
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Python中保存队列数据相关的知识,希望对你有一定的参考价值。
我写了一个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):
..............
..........
.....
答案
Python object serialization & persistence
您可以使用pickle
模块在磁盘上存储和加载数据。
Store data
要将数据存储到文件,您可以使用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)
Load Data
要从给定文件加载数据,请使用pickle.load(file)
方法:
import pickle
with open("my_saved_queue.obj","rb") as queue_save_file:
my_queue = pickle.load(queue_save_file)
Additional information
有关更多信息,请参阅Persistence一章中的官方Python文档。
另一答案
您必须将其保存到文件,然后每次运行程序时从该文件中读取
def save(list)
file=open('filename',r+)
for item in list:
file.write(item)
file.write('
')
file.close()
r +是你打开文件的模式,它意味着一起读写,所以以后你可以从文件中读取如下
for line in file.readlines():
print line
它将分别读取文件中的每一行
以上是关于在Python中保存队列数据的主要内容,如果未能解决你的问题,请参考以下文章