0

私の問題は、無期限に実行される function1 と呼ばれる関数があることです。関数自体は、1 秒ごとに "hello" をエコーし​​ます。次のコマンドを使用します。

function1 >> temp.txt

ファイル temp.txt を表示する場合、1 秒ごとに「hello」という新しい行が表示されます。ただし、関数は実行が完了するまでファイルに書き込みません。したがって、関数を強制終了すると、何も書き込まれません。基本的にtemp.txtを動的に更新するこの状況で私ができることを知っている人はいますか?

次のように設定されたPythonスクリプトがあります。

while [1>0]:
   print "hello"
   time.sleep(1)

したがって、これは常に実行されます。これをbashスクリプトで呼び出します

python pythonscript.py >> temp.txt

killプロセスの場合、データはログに記録されません。

4

1 に答える 1

0

各印刷後にバッファをフラッシュする必要があります。

import time
import sys

while [1>0]:
    print "hello"
    sys.stdout.flush()
    time.sleep(1)

これは、他のオペレーティング システムでも機能します。

于 2012-07-21T23:51:52.807 に答える