взаимодействие с asyncio subprocess

Я использую asyncio.subprocess

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

async def com():
    p = await create_subprocess_exec('process', stdin=PIPE, stdout=PIPE)
    await p.communicate()

if __name__ == '__main__':
    loop = asyncio.get_event_loop()
    loop.create_task(com())
    loop.run_forever()

Ответы (1 шт):

Автор решения: Егор

Решение оказалось примерно таким:

async def com():
    p = await create_subprocess_shell('command', stdin=PIPE, stdout=PIPE)
    while True:
        data = input()
        await p.stdin.write(data)
        out = await proc.stdout.readline()
        if out:
            print(out.decode('utf-8'))
→ Ссылка