0

我正在尝试记录由包含 Scipy 优化例程的脚本生成的终端显示。我尝试了三种不同的方法,结果都令人失望。

open() 和 cmd-prompt 重定向 (">") 没有记录警告,也没有记录我想要跟踪的每次迭代信息;它只记录了参数解决方案。

logging.basicConfig() 生成一个空白文件。

如果可能的话,我希望能够记录脚本文件的确切终端显示。我已经开始研究使用日志记录模块,但对于我认为是一项非常基本的任务(我来自 Matlab 背景)来说,这似乎相当复杂。

环境:

. Python 2.7.3

. 操作系统:Windows Vista 和 XP

4

2 回答 2

1

可能您感兴趣的内容被发送到 stderr 而不是 stdout。尝试将两者都重定向到文件。你可以在 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 回答