擅长:python、mysql、java
<blockquote>
<p>Is there a straightforward solution for this?</p>
</blockquote>
<p>子流程文档中的<a href="https://docs.python.org/3/library/subprocess.html#replacing-shell-pipeline" rel="nofollow noreferrer">example</a>也应适用于异步IO子流程。例如(未经测试):</p>
<pre class="lang-py prettyprint-override"><code>async def process():
p1 = await asyncio.create_subprocess_shell(
"dumpcap -q -f http -i eth0 -w -", stdout=asyncio.subprocess.PIPE)
p2 = await asyncio.create_subprocess_shell(
"tshark -l -n -T json -r -",
stdin=p1.stdout, stdout=asyncio.subprocess.PIPE)
p1.stdout.close() # we no longer need it
while True:
line = await p2.stdout.readline()
if not line:
break
print(line)
</code></pre>