我有一个大型Mathematica笔记本,它定期使用Print[]
命令输出运行时消息。这是此笔记本生成的唯一输出(除了导出的文件)。有没有什么办法可以自动将此输出导出到.txt文件而无需重新编写Print[]
命令?
答案 0 :(得分:15)
根据documentation,Print
输出到$Output
频道,这是一个流列表。所以,在笔记本的开头,
strm = OpenWrite["output.log"];
AppendTo[ $Output, strm ];
并在笔记本末尾
Close[strm];
注意,如果在关闭流之前执行被中断,那么您必须手动执行。此外,上面的代码将覆盖“output.log”中的先前数据,因此您可能希望使用OpenAppend
。
修改:为了保证会调用Abort
,请考虑使用here概述的技术之一。
答案 1 :(得分:2)
你想要PutAppend命令。