タグ付けされた質問 「tee」

30
Windowsコマンドプロンプトの出力を表示してファイルにリダイレクトする
Windowsコマンドプロンプトでコマンドラインアプリケーションを実行し、出力を表示すると同時にファイルにリダイレクトするにはどうすればよいですか? たとえば、コマンドを実行すると、結果が表示さdir > test.txtれtest.txtずに、呼び出されたファイルに出力がリダイレクトされます。 UNIX のコマンドと同様に、Windowsコマンドプロンプトで出力を表示し、出力をファイルにリダイレクトするコマンドをどのように記述できますteeか?
371 batch-file  cmd  stdout  tee 

16
sys.stdoutをログファイルに複製する方法
編集:解決策がないか、誰も知らないような非標準的なことをしているようです-私は質問を修正して次のことも尋ねます:pythonアプリが多くのシステムコール? 私のアプリには2つのモードがあります。インタラクティブモードでは、すべての出力を画面とログファイル(システムコールからの出力を含む)に出力します。デーモンモードでは、すべての出力がログに送られます。デーモンモードは、を使用するとうまく機能しos.dup2()ます。すべてのシステムコールを変更せずに、インタラクティブモードでログへのすべての出力を「ティー」する方法を見つけることができません。 言い換えれば、システムコールの出力を含め、Pythonアプリによって生成されたすべての出力に対して、コマンドライン 'Tee'の機能が必要です。 明確にするために: すべての出力をリダイレクトするには、次のようにします。 # open our log file so = se = open("%s.log" % self.name, 'w', 0) # re-open stdout without buffering sys.stdout = os.fdopen(sys.stdout.fileno(), 'w', 0) # redirect stdout and stderr to the log file opened above os.dup2(so.fileno(), sys.stdout.fileno()) os.dup2(se.fileno(), sys.stderr.fileno()) これの良い点は、残りのコードからの特別な印刷呼び出しを必要としないことです。このコードはいくつかのシェルコマンドも実行するため、それぞれの出力を個別に処理する必要がないのも便利です。 単純に、リダイレクトではなく複製を除いて、同じことをしたいのです。 最初は、単にを逆にするだけdup2でうまくいくと思いました。なぜそうではないのですか?これが私のテストです: import os, …
149 python  tee 

5
T型への配管時にstdoutのラインバッファリングを強制する
通常、stdoutラインバッファリングされます。つまり、printf引数が改行で終わっている限り、その行が即座に印刷されると期待できます。これは、パイプを使用してにリダイレクトする場合は保持されないようteeです。 a文字列を常に-で\n終了してに出力するC ++プログラムがありますstdout。 単独で実行すると(./a)、期待どおりにすべてが正しく、適切なタイミングで印刷されます。ただし、それをtee(./a | tee output.txt)にパイプすると、終了するまで何も出力されず、を使用する目的に反しteeます。 fflush(stdout)C ++プログラムで各印刷操作の後にを追加することで修正できることを知っています。しかし、よりクリーンで簡単な方法はありますか?たとえば、stdoutパイプを使用している場合でも、強制的にラインバッファリングされるコマンドを実行できますか?
116 unix  buffer  pipe  stdout  tee 

1
Linux TeeはPythonで動作しませんか?
無限ループを使用してWebサーバーと通信するPythonスクリプトを作成しました。すべての通信データをファイルに記録し、端末から同時に監視したい。だから私はこのようにティーコマンドを使いました。 python client.py | tee logfile しかし、ターミナルやログファイルから何も得られませんでした。Pythonスクリプトは正常に動作しています。ここで何が起きてるの?私は何かを逃していますか? いくつかのアドバイスをいただければ幸いです。前もって感謝します。
102 python  linux  tee 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.