Python% logstart не может сохранить входные результаты - PullRequest
0 голосов
/ 29 июня 2019

Proof

Я следовал за этот пост , что привело меня к этому посту , чтобы сохранить входные результаты ipython (не путать входные результаты с выходными данными; в ipython они считаются разными вещами) , Принятым ответом поста является просто «использовать %logstart -o в ipython», и я искренне слежу за ответом, ожидая, что он сработает, но это не так.

Поскольку картинка стоит больше тысячи слов, я привожу картинку, которая показывает, что %logstart -o не может решить мою проблему. На рисунке ясно видно, что я использовал %logstart -o в ipython, и я проиграл файл, который печатает строку и пустой массив. Строка и массив не отображаются в ipython_log.py, который завершает одну из двух вещей.

1) %logstart -o прослушивается (что я не верю)

2) %logstart -o работает, но не достигает моей цели

У меня следующий вопрос:

Если %logstart -o не может достичь моей цели, то что может?

1 Ответ

1 голос
/ 29 июня 2019

Документация достаточно ясна для второго поста, на который вы ссылались, но позвольте мне процитировать важную для вас часть:

В этом режиме [то есть в режиме %logstart] все команды, которые генерируют приглашение Out[NN], записываются в файл журнала

Учитывая, что вы используете runfile для запуска своего кода, не будут генерироваться приглашения Out[NN], и вам вместо этого придется использовать операторы print, чтобы увидеть свои результаты (которые нельзя зарегистрировать с помощью %logstart ).

Так что мой единственный совет для вас - не использовать runfile, а вместо этого использовать ячейки, которые являются разделами кода, разделенными комментариями вида # %% и которые вы можете запускать с помощью Shift+Enter. Это эквивалентно запуску вашего кода непосредственно в консоли, которая должна генерировать необходимые Out[NN] приглашения.

Кроме этого, я думаю, что невозможно получить то, что вы хотите, извините.

...