我有一个使用子进程来获取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的相同内容?
答案 0 :(得分:18)
使用&>
进行重定向,这应该将stdout
和stderr
重定向到指定的文件
答案 1 :(得分:2)
您已将stdout发送到该文件,但您的程序正在报告发送给stderr的错误。要设置stderr的重定向,请使用2>
语法。
此链接可能有所帮助:http://www.tldp.org/LDP/abs/html/io-redirection.html
答案 2 :(得分:1)
您的输出将导致标准错误。尝试使用以下内容重定向stderr和stdout:
<command> 2>&1 <file>
答案 3 :(得分:0)
我有一个QApplication作为脚本的一部分。似乎这在某种程度上影响了输出重定向。没有QApplication的其他脚本似乎按预期重定向。它可能是某个地方的错误,但我不能打扰它。