Python 保存/加载数据队列
我正在使用collections.deque生成内存缓冲区。目前,我正在从左到右插入值,每个插入都包含:一个numpy数组、一个float值、另一个float值和其他numpy数组 我的缓冲区的一般形式如下:Python 保存/加载数据队列,python,python-3.x,Python,Python 3.x,我正在使用collections.deque生成内存缓冲区。目前,我正在从左到右插入值,每个插入都包含:一个numpy数组、一个float值、另一个float值和其他numpy数组 我的缓冲区的一般形式如下: my_buffer = deque([numpy array, float, float, numpy array], [numpy array, float, float, numpy array]) 我想做的是将数据保存到我的计算机中,然后能够将其作为同一对象加载。目前,我已尝试使用
my_buffer = deque([numpy array, float, float, numpy array], [numpy array, float, float, numpy array])
我想做的是将数据保存到我的计算机中,然后能够将其作为同一对象加载。目前,我已尝试使用numpy保存它,使用:
np.save(list(my_buffer))
但是,我想直接保存deque。有没有办法将这种缓冲区保存到我的磁盘内存中,然后加载它
pickle.dump(my_buffer, open('buffer.pkl', 'wb'))
my_buffer_2 = pickle.load(open('buffer.pkl', 'rb'))
我不知道您的array
是什么,但是,它对我的array
实例有效
class array:
def __init__(self, l):
self.l = l
从deque中获取项目,转换为list或numpy数组并保存它-使用json或numpy的数组函数。最后,您可以尝试直接使用
pickle
什么是array
?@furas:谢谢,目前我正在像np.array(list(my_buffer))那样保存它,然后使用np.save。但是,我不确定是否可以加载numpy数组,然后返回一个deque。@ghchoi抱歉,我复制了一个缓冲区的打印。这是一个np.ndarray