姬長信(Redy)

如何从subprocess.Popen()获取输出. proc.stdout.re…


我想从执行Test_Pipe.py输出,我尝试在Linux上使用代码,但它没有用.

Test_Pipe.py

import time
while True :
    print "Someting ..."
    time.sleep(.1)

Caller.py

import subprocess as subp
import time

proc = subp.Popen(["python", "Test_Pipe.py"], stdout=subp.PIPE, stdin=subp.PIPE)

while True :
    data = proc.stdout.readline() #block / wait
    print data
    time.sleep(.1)

proc.stdout.readline()行被阻止,因此没有打印出数据.