擅长:python、mysql、java
<p>这是@abarnert概念的变体。它运行着“新罕布什尔州“命令,然后按显示的方式处理每行数据。输出被写入<code>sys.stdout</code>,然后被刷新,这样我们就可以看到它来了,在结尾处看到它。在</p>
<h2>来源</h2>
<pre><code>#!/usr/bin/env python
# adapted from http://stackoverflow.com/questions/2804543/read-subprocess-stdout-line-by-line
import subprocess, sys, time
def test_ping():
proc = subprocess.Popen(
['bash', './nn.sh', 'localhost', '3'],
stdout=subprocess.PIPE,
)
outf = sys.stdout
for line in iter(proc.stdout.readline, ''):
outf.write( 'Reader thread ...\n' )
outf.write( line.rstrip() + '\n' )
outf.flush()
if __name__=='__main__':
test_ping()
</code></pre>