在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中保存队列数据的主要内容,如果未能解决你的问题,请参考以下文章

Python学习总结

Python处理列表/队列中的项目并保存进度

python 用于数据探索的Python代码片段(例如,在数据科学项目中)

从单个按钮从多个片段中提取数据

检索数据未出现在 ListView 的片段中

# Java 常用代码片段