0

Scipy最適化ルーチンを含むスクリプトによって生成された端末表示をログに記録しようとしています。私は3つの異なる方法を試しましたが、すべてがっかりした結果になりました。

open()とcmd-prompt redirection( ">")は、警告も、追跡したい反復ごとの情報もログに記録しませんでした。パラメータソリューションのみをログに記録しました。

logging.basicConfig()は空のファイルを生成しました。

可能であれば、スクリプトファイルの正確なターミナル表示をログに記録できるようにしたいと思います。ロギングモジュールの使用を検討し始めましたが、非常に基本的なタスクであると考えるのはかなり複雑なようです(Matlabのバックグラウンドから来ています)。

環境:

。Python 2.7.3

。オペレーティングシステム:WindowsVistaおよびXP

4

2 に答える 2

1

おそらく、あなたが興味を持っているものは、stdout ではなく stderr に送られています。両方をファイルにリダイレクトしてみてください。Pythonでそれを行うことができます:

import sys

with open("log.txt", "w") as logfile:
    sys.stdout, sys.stderr = logfile, logfile

    # do your stuff here, e.g. import the module that you want to log

またはコマンドラインから:

python myscript.py > log.txt 2>&1
于 2012-08-21T02:27:37.630 に答える
0

Linuxスクリプトコマンドを見てください。端末に出力されたものはすべて保存されます。

user@host:~ $ script
Script started, file is typescript
user@host:~ $ ls
bin  Documents  Pictures  Videos
user@host:~ $ exit # ^D stops script
Script done, file is typescript

次に、結果は という名前のファイルにありますtypescript

于 2012-08-21T02:26:25.627 に答える