член потока потока Python в именованный канал - PullRequest
0 голосов
/ 02 ноября 2018

Я пытаюсь открыть 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"

У кого-нибудь есть мысли о том, как / если это возможно?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...