2016-11-23 7 views
1

У меня есть ошибка в моей программе :(Как сохранить вывод консоли IPython в файл в Spyder?

Проблема в том, что:

  • Мой .py код длинный, и принимает возрастов, чтобы запустить
  • Я не знаю, где ошибка является

хорошая новость, что у меня есть много print() в моем py файл, так что я потенциально могу знать, где живет ошибка.

плохие новости, что моя ошибка делает мой компьютер аварии, так что нет никакого способа для меня, чтобы посмотреть на выходе консоли ipython и посмотреть, что пошло не так.

Как я могу записать вывод на диск во время работы программы? Чтобы я мог открыть файл после перезагрузки, чтобы понять, что произошло до сбоя?

Этот вопрос отличается от Redirect stdout to a file in Python?, потому что мне нужно

  • непрерывной записи в файл
  • что-то использовать внутри Spyder

Большое спасибо!

+1

Пишите в файл вместо использования операторов печати? Использовать Logger [module] (https://docs.python.org/2/library/logging.html)? Использовать отладчик вместо операторов печати? О, на самом деле просто вспомнил еще одну [post] (http://stackoverflow.com/questions/4675728/redirect-stdout-to-a-file-in-python) –

+0

Спасибо @AlbertRothman, но я понятия не имею, как это сделать. Можете ли вы опубликовать это как ответ и объяснить, что делать, пожалуйста? –

+1

Да, ваш вопрос в значительной степени дублирует сообщение, которое я связал выше. Искать там. –

ответ

2

Очень интересный вопрос! К счастью, у IPython есть правильная магия для вас. Он называется %logstart (пожалуйста, перейдите по ссылке для полной документации).

Чтобы начать использовать его и сохранить ввод и вывод всех команд, просто введите в консоль IPython

In[1]: %logstart -o 

и запишет вашу сессию с этого момента в файл с именем ipython_log.py помещенного в вашем Текущий каталог.

%logstart очень гибкий, поэтому вы можете выбрать другой файл для сохранения, а также как сохранить сеанс (либо чистый Python, либо как команды IPython).

+0

ha! ты босс @ carloscordoba !!! –

+1

Спасибо!У IPython есть много небольших сокровищ, подобных этому :-) –

+0

@ carloscoroba на боковой ноте, какая-нибудь новая версия anaconda скоро появится? Еще раз спасибо за вашу замечательную работу –

 Смежные вопросы

  • Нет связанных вопросов^_^