長期実行プログラムがファイル出力をリダイレクトします。

長期実行プログラムがファイル出力をリダイレクトします。

数学の研究を助けるためにPython2プログラムを書いて、これをbashで次のように呼び出しました。

python myprog.py > myoutput.txt

まず、小さな入力値セットに対して実行し、1秒以内に出力を取得します。

これで、大きな入力データで数時間実行されました。したがって、出力には前の実行からの出力をサブセットとして含める必要があります。他のターミナルウィンドウでは、呼び出し時に「myoutput.txt」が生成されますが、空であることがわかります。私が見ることができる出力が保存される一時的な場所はありますか?

私のプログラムにはforループがあり、ループが繰り返されるたびに1行を出力する必要があります。範囲が1〜35の場合、直ちに35ラインが出力されます。 1から175までの範囲を増やすと、ほぼ一日が経過しても出力はありません。誰でも助けることができますか?

ベストアンサー1

悪い習慣 - リダイレクトはプログラムの終わりにのみ書き込みを行います。

ロギングモジュールを使用してください。https://docs.python.org/2/howto/logging.html

  • 編集:書き込みは最後に行われず、バッファが使い果たされたときに行われます。ありがとう、バルマル

おすすめ記事