Python で perforce カスタム ツールを開発しており、スクリプトの実行中にメッセージを出力しています。p4win には表示されますが、主に p4v を使用しているため、ログ ウィンドウに出力が表示されません。
ターミナル ウィンドウでツールを実行せずに、そこまたは他のペインに出力する方法はありますか?
Python で perforce カスタム ツールを開発しており、スクリプトの実行中にメッセージを出力しています。p4win には表示されますが、主に p4v を使用しているため、ログ ウィンドウに出力が表示されません。
ターミナル ウィンドウでツールを実行せずに、そこまたは他のペインに出力する方法はありますか?
Python が出力を直接端末に送るのではなく、パイプに送る場合、デフォルトで出力をバッファリングします。これを回避するには、Python を呼び出すときに "-u" パラメータ (例: python -u myscript.py arg1 arg2
) を渡してバッファリングしないように指示するか、必要sys.stdout.flush()
なときにいつでもスクリプト全体を呼び出して、出力が確実に行われたことを確認します。 P4Vに。
以下も参照してください。
http://kb.perforce.com/article/914/sending-script-output-to-p4vs-custom-tool-terminal
(この質問は、Stack Overflow でここで質問した後に回答されたようです。既によくご存じでしたら申し訳ありません。)