Python(またはipython)でidlのジャーナルと同等の機能を見つけようとしています。ipython には %logstart 関数があることは知っていますが、それは ipython の入力/出力のみを記録するため、スクリプトを実行して値を入力するように求められた場合、これらはログに記録されません。明確にするために、EELTnoM6.py スクリプトを実行したときの端末を次に示します。
In [11]: run EELTnoM6
################################################################
## STOKES vector after the system ##
################################################################
== Demodulation matrix ==
Automatic: A
ZIMPOL/EELT: Z
EELT IF Eif
Custom C
Demodulation matrix?: C
Efficiency of the detector?: 1.
Demodulation matrix? (e.g. [ [1.,0.],[0.,1.] ]): [[1/6.,1/6.,1/6.,1/6.,1/6.,1/6.], [0.5,-0.5,0.,0.,0.,0.],[0.,0.,-0.5,0.5,0.,0.],[0.,0.,0.,0.,-0.5,0.5]]
ModelStokesMeasurement time = 65.6509261131
Simulation time = 151.731481075
そして、ここに私がログに記録するものがあります:
# IPython log file
%logstart -o -r EELTnoM6_log rotate
ls
%logstop
run EELTnoM6
%logoff
スクリプトが要求したときに入力した内容をログに保存したいと思います。
Demodulation matrix?: C
Efficiency of the detector?: 1.
Demodulation matrix? (e.g. [ [1.,0.],[0.,1.] ]): [[1/6.,1/6.,1/6.,1/6.,1/6.,1/6.],[0.5,-0.5,0.,0.,0.,0.],[0.,0.,-0.5,0.5,0.,0.],[0.,0.,0.,0.,-0.5,0.5]]
したがって、C、1. および行列を同じ値で再度実行できるようにします。これは IDl では非常に簡単なので、ipython で同じものが見つからなかったときは非常に驚きました...