2017-03-02 22 views
1

私はごく最近のサブプロセス・モジュールで作業を開始しているので、私は確信している、これは新人の質問ですPythonから3.5.2。親スクリプトとそこから情報を取得する:Pythonの親プロセスのコミュニケーションやPythonのサブプロセス

import subprocess 

process = subprocess.Popen(
    'C:\\IDLEX (Python GUI).exe', 
    shell = True, 
    stdout = subprocess.PIPE, 
    ) 

while True: 
    lines = process.stdout.readlines() 
    for line in lines: 
      print (line) 

iが親プロセスで出力を生成するために、子プロセスに与えるためにどのようなコマンドがありますか?

私は既にprint('something')sys.stdout.write('something else')sys.stdout.flush()との結合)を試しましたが、何も動作していないようです。

答えて

1

サブプロセスは実行されており、その出力はすでに親プロセスに転送されています。 'C:\\IDLEX (Python GUI).exe'の出力がstdoutにフラッシュされないために出力が生成されません。

あなたのスクリプトが働いている:

process = subprocess.Popen(
    'echo Hello World', # or change to any other executable or script to test 
    shell = True, 
    stdout = subprocess.PIPE, 
) 

出力:

Hello World 

あなたがチェックするCMDに直接C:\\IDLEX (Python GUI).exeを実行しようとします。

関連する問題