で始まるipythonの設定ファイルはどこc = get_config()
で実行されますか?ipythonで実行される順序、たとえば、として含まれている場合に特定のコマンドが機能しない理由を理解したいので、質問していc.InteractiveShellApp.exec_lines
ます。
これは私の他の質問、Log IPython outputに関連していますか?、属性にアクセスしたいのですlogger
が、構成ファイルでその属性にアクセスする方法がわかりません。exec_lines
実行されるまでに、ロガーはすでに開始されています(手遅れです)。
編集:でスタートアップファイルを使用することに基づく解決策を受け入れましたipython0.12+
。そのソリューションの私の実装は次のとおりです。
from time import strftime
import os.path
ip = get_ipython()
#ldir = ip.profile_dir.log_dir
ldir = os.getcwd()
fname = 'ipython_log_' + strftime('%Y-%m-%d') + ".py"
filename = os.path.join(ldir, fname)
notnew = os.path.exists(filename)
try:
ip.magic('logstart -o %s append' % filename)
if notnew:
ip.logger.log_write( u"########################################################\n" )
else:
ip.logger.log_write( u"#!/usr/bin/env python\n" )
ip.logger.log_write( u"# " + fname + "\n" )
ip.logger.log_write( u"# IPython automatic logging file\n" )
ip.logger.log_write( u"# " + '# Started Logging At: '+ strftime('%Y-%m-%d %H:%M:%S\n') )
ip.logger.log_write( u"########################################################\n" )
print " Logging to "+filename
except RuntimeError:
print " Already logging to "+ip.logger.logfname
リンクされた提案されたソリューションとの微妙な違いは2つだけです:1。ログをcwd
ログディレクトリの代わりに保存します(私はそれがもっと好きですが...)2。ip.magic_logstart
存在しないようですが、代わりに使用する必要がありますip.magic('logstart')