2017-08-01 2 views
0

私は、apache-commons-execでpythonプロセスの出力をキャプチャしようとしています。しかし、それは出力を印刷しないように見え、出力は私がpythonのプロセスが終了した後にのみ表示されます。PumpStreamHandlerはリアルタイムでプロセス出力をキャプチャできます

は、ここに私のJavaコード

CommandLine cmd = CommandLine.parse("/Users/jzhang/anaconda/bin/python"); 
cmd.addArgument("/Users/jzhang/a.py"); 
DefaultExecutor executor = new DefaultExecutor(); 
ExecuteWatchdog watchDog = new ExecuteWatchdog(ExecuteWatchdog.INFINITE_TIMEOUT); 
executor.setWatchdog(watchDog); 

executor.execute(cmd); 

だと、これは私がPythonのプロセスが終了された後に(私は出力のみを取得実行したいPythonのコードですが、私がしたいことは、リアルタイムで出力を得ることです)

for i in range(1,10): 
    print(i) 

import time 

time.sleep(10) 

答えて

0

回答者が見つかりました。私はtrueに設定する必要があります。例えば。

print('hello world', flush=True) 
関連する問題