Моя цель состоит в том, чтобы позвонить ipython
, а также фиксируя все ввода/вывода в IPython, и увидеть что-то вроде:Как я могу записывать вывод IPython без уродливых 7 строк журнала-информации при каждой загрузке?
[email protected] ~ $ ipython
In [1]: exit
[email protected] ~ $
Баннер можно легко удалить, если я изложу
c.TerminalIPythonApp.display_banner = False
в мой ~/.ipython/profile-default/ipython_config.py
файл.
Но как я могу получить эту чистку от запуска, а также регистрировать вещи?
На новой установке, если я начну IPython без параметров я вижу:
[email protected] ~ $ ipython
Python 2.7.3 (default, Jun 20 2013, 12:50:58)
Type "copyright", "credits" or "license" for more information.
IPython 0.13.2 -- An enhanced Interactive Python.
? -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help -> Python's own help system.
object? -> Details about 'object', use 'object??' for extra details.
In [1]: exit
[email protected] ~ $
Если я прохожу logfile=logfile.txt
аргумент при вызове IPython я вижу:
[email protected] ~ $ ipython --logfile=logfile.txt
Activating auto-logging. Current session state plus future input saved.
Filename : logfile.txt
Mode : backup
Output logging : False
Raw input log : False
Timestamping : False
State : active
Python 2.7.3 (default, Jun 20 2013, 12:50:58)
Type "copyright", "credits" or "license" for more information.
IPython 0.13.2 -- An enhanced Interactive Python.
? -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help -> Python's own help system.
object? -> Details about 'object', use 'object??' for extra details.
In [1]: exit
[email protected] ~ $
Как я могу использовать каротаж без добавления дополнительного беспорядка к моему терминалу:
Activating auto-logging. Current session state plus future input saved.
Filename : logfile.txt
Mode : backup
Output logging : False
Raw input log : False
Timestamping : False
State : active
На других машинах я имею IPython настроено на автоматический вход вещи, имея .ipython/profile_default/startup/01-log-everything.py
, который содержит следующие строки:
from time import strftime
import os.path
ip = get_ipython()
ldir = ip.profile_dir.log_dir
fname = strftime('%Y-%m-%d-%H-%M-%S') + ".py"
filename = os.path.join(ldir, fname)
ip.run_line_magic('logstart', '-o %s append' % filename)
, что приводит к тому же беспорядку, как когда я добавить --logfile=logfile.txt
Любой помощь, как правильно сделать это было бы оценено. Я мог бы, если ничего другого не перенаправить sys.stdout, настроить ведение журнала и затем сбросить sys.stdout, но я надеюсь, что есть менее хакерское решение.
Аналогичный вопрос был задан здесь: Http: // StackOverflow.com/questions/947810 – BugoK
@BugoK, спасибо - вопрос в этом посте немного похож, я думаю, но то, что я пытаюсь сделать, очень специфично и не рассматривается в этом сообщении или где-либо еще, насколько я могу судить. –