Объект списка Python, буферизованный в файл?

Прежде чем изобретать колесо, существует ли в Python модуль, который предоставляет упрощенный класс, похожий на список, который при необходимости загружает файлы в файл?

В частности, я хотел бы сделать что-то вроде этого:

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

Это создало бы буферный список с именем b. Если потребление памяти b превысило 10000 Кбайт, дополнительные добавления будут записываться в временный файл.

Простая итерация – это все, что мне действительно нужно от класса. Такие функции, как pop, del, sort и т. Д., Были бы хороши, но не обязательно. Список будет содержать только кортежи строк.

Я использую 2.7.

Это будет реализовано на Windows Server 2003.

Редактировать: Как было указано наклонно Дэвидмом в комментариях, я действительно делал это назад для своих нужд .

Поскольку мне действительно не нужны методы обработки pop, del, sort и other list, самым чистым решением для моих потребностей сегодня является просто установить достаточно большое значение для буфера при вызове 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