私はpythonスクリプトを使用してプロセスを実行しsubprocess.Popen
、同時に出力をテキストファイルに保存し、コンソールに出力しています。これは私のコードです:
result = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE)
for line in result.stdout.readlines(): #read and store result in log file
openfile.write("%s\n" %line)
print("%s" %line)
上記のコードは問題なく動作しますが、最初にプロセスを完了し、結果変数に出力を格納します。その後、for ループは出力を保存するだけでなく、出力します。
しかし、実行時に出力が必要です (プロセスが完了するまでに数時間かかる可能性があるため、これらすべての時間の出力は得られません)。
したがって、出力を動的に(実行時に)提供する他の関数はありますか。つまり、プロセスが最初の行を提供するとすぐに、それが印刷されるはずです。