11

サブプロセスを使用して HTML を取得するスクリプトがあります。

misha@misha-K42Jr:~/git/domain_classifier$ python webkit_retrieve.py error-cut.txt html/error -N 5
http://kurabo.co.jp HostNotFoundError
http://monarch.com HostNotFoundError
http://nssmgmt.com HostNotFoundError
http://sbcglobal.net HostNotFoundError
http://dynamixcorp.com SslHandshakeFailedError
http://groupe-synox.com RemoteHostClosedError
QFont::setPixelSize: Pixel size <= 0 (0)
http://www.cnn.com NoError
http://pacbell.net TimeoutError

同じスクリプトを実行しても、出力をファイルにリダイレクトすると、出力に何も得られません。

misha@misha-K42Jr:~/git/domain_classifier$ python webkit_retrieve.py error-cut.txt html/error -N 5 > stdout.txt
QFont::setPixelSize: Pixel size <= 0 (0)
misha@misha-K42Jr:~/git/domain_classifier$ cat stdout.txt
misha@misha-K42Jr:~/git/domain_classifier$

出力が空なのはなぜですか? 最初のケースで stdout に出力されたものと同じものを含めるべきではありませんか?

問題は、標準出力と標準エラー出力のマージに関するものではなく、リダイレクトされた標準出力が空のファイルを生成する理由です

4

3 に答える 3

25

&>リダイレクトに使用します。これは、指定されたファイルにリダイレクトする必要がstdoutありますstderr

于 2012-11-20T08:18:43.117 に答える
1

ファイルに stdout を送信しましたが、プログラムは stderr に送られるエラーを報告しています。stderr のリダイレクトを設定するには、2>構文を使用します。

このリンクが役立つかもしれません: http://www.tldp.org/LDP/abs/html/io-redirection.html

于 2012-11-20T03:59:25.367 に答える
-2

出力は stderror になります。以下を使用して、stderror と stdout の両方をリダイレクトしてみてください。

<command> 2>&1 <file>
于 2012-11-20T04:00:08.813 に答える