Exporting Mathematica Print[] Output to a .txt fil

2019-02-06 03:37发布

I have a large Mathematica notebook that uses Print[] commands periodically to output runtime messages. This is the only output (aside from exported files) that this notebook generates. Is there any way I can automate the export of this output to a .txt file without having to re-write the Print[] commands?

2条回答
唯我独甜
2楼-- · 2019-02-06 04:15

You want the PutAppend command.

查看更多
混吃等死
3楼-- · 2019-02-06 04:22

According to the documentation, Print outputs to the $Output channel which is a list of streams. So, at the beginning of the notebook,

strm = OpenWrite["output.log"];
AppendTo[ $Output, strm ];

and at the end of the notebook

Close[strm];

Note, if execution is interrupted prior to closing the stream, then you'll have to do it manually. Also, the above code will overwrite prior data in "output.log," so you may wish to use OpenAppend, instead.

Edit: to guarantee that Abort will be called, consider using one of the techniques outlined here.

查看更多
登录 后发表回答