Я пытаюсь открыть tar-файл и направить элементы во внешнее приложение напрямую через именованные каналы вместо того, чтобы разархивировать всю вещь.
with tarfile.open("my_tarfile.tar.gz") as tf:
for member in tf.getmembers():
if member.isfile():
with tf.extractfile(member) as file_obj:
for line in file_obj:
# Can stream the file - yay!
Я хотел бы иметь возможность каким-либо образом подключить file_obj к внешнему процессу, который запускается в Python через именованный канал - я хотел бы сделать что-то вроде следующего:
with tarfile.open("my_tarfile.tar.gz") as tf:
for member in tf.getmembers():
if member.isfile():
with tf.extractfile(member) as file_obj:
os.mkfifo("the_output_stream")
# 1. Somehow connect file_obj -> the_output_stream
# 2. Kick off process which consumes "the_output_stream"
У кого-нибудь есть мысли о том, как / если это возможно?