Как эмулировать трубчатый буфер в Python?

Есть ли способ использовать буфер StringIO как канал с ленивой записью? Есть ли способ перехватить функцию, которая будет вызываться, когда в объекте StringIO произойдет конец файла/строки, чтобы добавить следующие строки, которые можно прочитать? Уже прочитанные строки должны быть утилизированы.

Или доступен другой объект/библиотека, например StringIO? Я не хочу использовать каналы и разветвления операционной системы. Мне нужно навязать файловый буфер psycopg2.copy_from(), но с поведением как труба.

Что-то вроде Эффективная очередь FIFO для фрагментов произвольного размера байтов в Python и deque, но построчно .


person Hans Ginzel    schedule 20.10.2020    source источник