将管道与异步子流程一起使用

时间:2019-07-18 21:55:08

标签: python python-3.x python-asyncio

我想在python中运行以下内容作为异步进程(我在3.7.3上)。

pacman -Qm | aur vercmp -q

在我异步执行此操作之前,我大概做了

pac_proc = Popen(["pacman", "-Qm"], stdout=PIPE)
aur_proc = Popen(["aur", "vercmp", "-q"], stdin=pac_proc.stdout, stdout=PIPE)

效果很好。

现在我正在尝试

pac_out = await create_subprocess_exec(self.pacman, "-Qm", stdout=PIPE, stderr=PIPE)
ver_out = await create_subprocess_exec(self.aurutils, "vercmp", "-q", stdin=pac_out.stdout, stdout=PIPE, stderr=PIPE)

我得到了这么长的追溯,最终导致错误 AttributeError: 'StreamReader' object has no attribute 'fileno'

那我该如何异步处理管道?

0 个答案:

没有答案