print
いくつかのステートメントがあるpythonスクリプトを作成します。印刷された情報は、スクリプトの進行状況を監視するのに役立ちます。しかし、 を含む bash スクリプトpython my_script &> output
をコンピューティング ノードに qsub すると、スクリプトが実行されて何かを出力している場合でも、出力ファイルには何も含まれません。出力ファイルには、スクリプトが完了すると出力が含まれます。では、スクリプトの実行中に出力ファイルからリアルタイムで出力を取得するにはどうすればよいでしょうか。
2 に答える
4
各書き込み後または各書き込み呼び出し後にパイプしてフラッシュするのではなく、実際にファイルに書き込みますsys.stdout.flush()
が、ロガー関数を使用して出力をログに置き換える方がよいでしょう。
コメントから: ロガー関数は、print の代わりに呼び出す関数で、テキストをどこかに出力し、おそらくタイムスタンプを付けて、他の情報とともに出力します。通常、さまざまな量の情報を stdout やファイルなどのさまざまな宛先に出力できます。ロギング機能が組み込まれたpython については、 python 2または3のドキュメントを参照してください。
于 2013-11-27T04:25:24.680 に答える