回答:
では>あなただけの標準出力をリダイレクトします。代わりに2>を試して、エラー出力をリダイレクトしてください。&>を使用して両方をリダイレクトします。
Pythonアプリは、通常のSTDOUTではなくSTDERR出力チャネルに出力を書き込む必要があります。シェル構造を使用する>
と、出力チャネルに書き込まれたデータのみをキャッチしてリダイレクトしますが、実際に印刷できるチャネルは他にもいくつかあります。最も一般的なのは、通常エラーに使用される2番目のチャネルです。
次のように、STDERR(2番目のチャネル)のトラップを試すことができます。
python ./manage.py dumpdata partyapp.InvitationTemplate > partyapp_dump.json 2>&1
2>&1
構築物は、通常の出力チャネルにエラーの出力ストリームを接続します。エラーチャネルでキャプチャしたい出力をプログラムが生成することはまれです。通常、アプリケーションデータではなくデバッグ情報用に予約されています。このスクリプトは非標準的な方法で動作するため、注意して使用してください。
次のように、出力チャネルとエラーチャネルを異なるファイルにダンプすることもできます。
python ./manage.py dumpdata partyapp.InvitationTemplate > partyapp_dump.json 2> error_output.txt
&>
唯一バッシュ4.0とのzshのIIRC最近のバージョンで動作します。よりポータブルなソリューションについては、foo > bar 2&>1
。参照:mywiki.wooledge.org/BashFAQ/014