Registrar una sesión de trabajo
Es posible registrar todas las entradas (y salidas) de una sesión en un archivo "LOG" añadiendo al ejecutable "ipython" el argumento "--logfile=archivolog", o bien, activando dicho registro durante una sesión interactiva con la función mágica %logstart.
Un archivo "LOG" puede ser ejecutado cuando se deseen repetir los mismos comandos de una sesión anterior.
Para activar el registro de entradas durante una sesión de trabajo:
: %logstart -o [nombrearchivolog] [modo]
- La opción "-o" hará que se registren también las salidas.
- Si no se especifica nombre de archivo se utilizará el nombre predeterminado "ipython_log.py" y será almacenado en el directorio actual con el modo "rotate" activado por defecto.
- Si se especifica un nombre de archivo se almacenará en el directorio actual usando el modo "backup".
Modos de registro:
- over: Sobreescribir el archivo de log.
- backup: Renombrar (si existe) a log_name~ y comenzar un nuevo archivo log_name.
- append: Añadir la información al archivo existente.
- rotate: Crear "LOGs" numerados con la información de sesiones anteriores.
Ejemplo:
: %logstart sesion-01.ipy # Comenzará el registro en modo backup
Detener y reanudar el registro
Las funciones %logoff y %logon permiten detener temporalmente y reanudar el registro en un archivo que previamente se había iniciado con la función %logstart. Con la función %logstop terminaremos definitivamente el registro y con la función mágica %logstate podremos consultar en cualquier momento el estado del registro.
Para detener el registro temporalmente:
: %logoff
Para iniciar de nuevo el registro:
: %logon
Para detener el registro definitivamente y cerrar el archivo LOG:
: %logstop
Para consultar el estado del registro:
: %logstate
Ejemplo:
In [1]: %logstart sesion-01.ipy
Activating auto-logging. Current session state plus future input saved.
Filename : sesion-1.py
Mode : backup
Output logging : False
Raw input log : False
Timestamping : False
State : active
In [2]: !ls *.ipy
total 1
-rw-rw-r-- 1 usuario usuario 238 jul 22 23:21 sesion-1.ipy
In [3]: %pwd
Out[3]: '/home/usuario/Local'
In [4]: %logstop
In [5]: %logstate
Logging has not been activated.
Contenido del archivo de registro "sesion-1.ipy":
# IPython log file
get_ipython().magic('logstart sesion-1.ipy')
get_ipython().system('ls *.ipy')
get_ipython().magic('pwd')
get_ipython().magic('logstop')
Editar y Ejecutar un archivo de LOG
Para ejecutar un archivo de "LOG" lo primero que debemos hacer es editar su contenido para suprimir aquellas líneas que no sean necesarias y cambiar lo que consideremos oportuno.
Para editar un archivo y ejecutar su contenido inmediatamente después:
: %edit sesion-01.ipy
En un equipo con GNU/Linux se editarán los archivos con el editor "vi". Si no conoce los comandos de este editor puede cambiarlo por otro que le resulte más cómodo: Ver Editar y depurar scripts en IPython.
Para ejecutar un archivo directamente:
: %run sesion-01.ipy