Добавление данных в поток

#python #shutil

Вопрос:

В моем конвейере обработки данных python мне нужно подготовить файл, разделенный вкладками, передать его в другую программу и проанализировать выходные данные. Результирующий файл сшивается из нескольких других файлов, которые работают асинхронно. Чтобы ускорить это, я использую shutil.copyfileobj (файлы также разделены вкладками и всегда имеют одинаковый порядок столбцов, поэтому нет необходимости анализировать их содержимое), поэтому без асинхронности эта часть кода выглядит так (порядок потоковой передачи также не имеет значения):

 prepare_files(...)

with open(final_file, "wb") as fin:
    with open(file1, "rb") as fout:
        shutil.copyfileobj(fsrc=fout, fdst=fin)

    with open(file2, "rb") as fout:
        shutil.copyfileobj(fsrc=fout, fdst=fin)

    ...

    with open(filen, "rb") as fout:
        shutil.copyfileobj(fsrc=fout, fdst=fin)

run_program(final_file, ...)
 

Проблема в том, что в этих файлах есть несколько столбцов, которые всегда постоянны (разные для каждого файла, и я знаю их значения). Интересно, есть ли способ не хранить эти постоянные столбцы, а вместо этого изменять поток, чтобы добавлять их. Например file1 , это может выглядеть так

 1t2t3
4t5t6
...
 

но после потоковой передачи в результирующий файл я хочу добавить два постоянных значения в каждую строку:

 1t2t3t0t1
4t5t6t0t1
...
 

Основная причина в том, что file1, ..., filen данные поступают с удаленных хостов, поэтому я также хочу избежать передачи ненужных данных.