【发布时间】:2020-01-10 15:57:17
【问题描述】:
查看子进程异步文档后,我想知道如何有人会运行与await process.stdout.read(NUMBER_OF_BYTES_TO_READ) 等效的东西。在documentation 中建议不要使用之前的代码sn-p,他们建议使用communicate method,据我所知,无法指示需要读取的字节数communicate()。
我错过了什么? 我如何告诉通信在读取一定数量的字节后返回?
编辑 - 我正在使用异步管道创建子进程,我正在尝试异步使用管道。
【问题讨论】:
-
警告在恕我直言太强了,
await p.stdout.read(...)是阅读程序输出的完美方式。只有当您还需要为程序提供一些输入时,写+读的幼稚顺序实现才会死锁。有关说明,请参见 this answer。
标签: python python-3.x python-asyncio