Python列表式对象缓冲到文件?

时间:2014-06-04 13:57:58

标签: python list

在重新发明轮子之前,Python中是否存在一个模块,它提供了一个简单的类,类似于根据需要将自身缓冲到文件的列表?

特别是,我想做这样的事情:

b = BufferedList(limit = 10000, tmp = '/tmp')
b.append(some_tuple)
b.append(some_tuple)
b.append(some_tuple)
# ad nauseam 

这将创建一个名为b的缓冲列表。如果b的内存消耗超过10000K字节,则进一步追加将写入临时文件。

简单的迭代就是我真正需要的。 pop,del,sort等功能很不错,但不是强制性的。该列表主要包含字符串元组。

我使用的是2.7。

这将在Windows Server 2003上实现。

编辑:正如Davidmh在评论中倾斜地指出的那样,我真的是为了满足我的需求而向后退

由于我不需要pop,del,sort和其他列表操作方法,今天我需要的最干净的解决方案就是在调用open()时为缓冲区设置一个适当大的值,如果我认为总是写入文件它可能是需要的。

我将只为我的SQL任务添加一个标志。它可能会以这样的结果:

imp = SqlImportTask()
imp.src_cs = std_config.DB04_CS
imp.dst_cs = std_config.SQL07_CS
imp.sql = 'SELECT * FROM PurchaseOrderDetail'
imp.dst_table = 'dbo.PurchaseOrderDetail'
imp.use_tmp_file = True

1 个答案:

答案 0 :(得分:-1)

在Python中,有一个名为Pickle

的对象序列化库