子プロセスが下のような「何かを出力して終了する」というものなら何も考えずに子プロセスの標準出力から読んでしまってかまわない。 # print.py print "Hello!" # readline.py import sys from subprocess import Popen, PIPE p = Popen(sys.argv[1:], stdout=PIPE) print "data:", p.stdout.readline() $ python readline.py python print.py data: Hello! しかし、子プロセスが下のような終了しないものの場合、この方法では読むことができないことがある。 print "Hello!" from time import sleep while True: sleep(1) $ python readline.py p

