Подтвердить что ты не робот

Экспорт Mathematica Print [] Выход в файл .txt

У меня есть большой ноутбук Mathematica, который периодически использует команды Print[] для вывода сообщений о времени выполнения. Это единственный выход (кроме экспортированных файлов), который генерирует этот ноутбук. Есть ли способ автоматизировать экспорт этого вывода в файл .txt без необходимости перезаписывать команды Print[]?

4b9b3361

Ответ 1

В соответствии с документация, Print выводится на $Output, который представляет собой список потоков. Итак, в начале ноутбука

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

и в конце ноутбука

Close[strm];

Обратите внимание, что если выполнение прерывается до закрытия потока, вам нужно будет сделать это вручную. Кроме того, вышеуказанный код перезапишет предыдущие данные в "output.log", поэтому вы можете вместо этого использовать OpenAppend.

Изменить: чтобы гарантировать, что Abort будет вызван, рассмотрите возможность использования одного из методов, описанных здесь.

Ответ 2

Вам нужна команда PutAppend.