C++では、cout
とcerr
に出力できます。実際にはこれはコードで結果を一度に2つのファイルにリダイレクトすることができます:Python:複数のリダイレクトへの出力
./some_program > first_file.something 2> second_file.else
私はこれをどのようにしてPythonで達成できますか?
C++では、cout
とcerr
に出力できます。実際にはこれはコードで結果を一度に2つのファイルにリダイレクトすることができます:Python:複数のリダイレクトへの出力
./some_program > first_file.something 2> second_file.else
私はこれをどのようにしてPythonで達成できますか?
など。 Python 3では、cout
とcerr
という同等のもの、つまりsys.stdout
とsys.stderr
をインポートしてください。
from sys import stdout, stderr
print('to standard output', file=stdout)
print('to standard error', file=stderr)
その後、あなたは通常どおりに、bashのリダイレクトを使用することができます。
python program.py 1>output 2>errors
そして、あなたが望むならば、あなたもあなたが好きなそれらに名前を付けることができます。例えば:
from sys import stdout as cout, stderr as cerr
print('to standard output', file=cout)
print('to standard error', file=cerr)
それは「Python的」少ないのですが、それはあなたがC++の経験からのギャップを埋めることができます場合は、それが助けとなることがあります。
https://docs.python.org/3/library/sys.html
sys.stdout
sys.stderr
コマンドラインからリダイレクトしたい場合は、それはかなりあなたがC++で行うのと同じ方法です:
python file.py > first_file.txt 2> second_file.txt
プログラムのことができます。 sys.stdout
とsys.stderr
で、これを行うには、あなたが選んだファイルで猿をパッチする。
awesome - thanks man – bordeo