¿Cómo cargar/editar/ejecutar/guardar archivos de texto (.py) en una celda de cuaderno IPython?

Resuelto aaronsstack asked hace 10 años • 6 respuestas

Recientemente pasé a usar cuadernos IPython como parte de mi flujo de trabajo. Sin embargo, no he logrado encontrar una manera de importar archivos .py en las celdas individuales de un cuaderno IPython abierto para poder editarlos, ejecutarlos y luego guardarlos. Se puede hacer esto?

Encontré esto en la documentación que me dice cómo importar archivos .py como cuadernos nuevos, pero esto no alcanza lo que quiero lograr.

Cualquier sugerencia sería muy apreciada.

aaronsstack avatar Jan 10 '14 08:01 aaronsstack
Aceptado

EDITAR : A partir de IPython 3 (ahora proyecto Jupyter), el cuaderno tiene un editor de texto que se puede utilizar como una alternativa más conveniente para cargar/editar/guardar archivos de texto.

Se puede cargar un archivo de texto en una celda del cuaderno con el comando mágico %load.

Si ejecuta una celda que contiene:

%load filename.py

el contenido de filename.pyse cargará en la siguiente celda. Puedes editarlo y ejecutarlo como de costumbre.

Para guardar el contenido de la celda nuevamente en un archivo, agregue cell-magic %%writefile filename.pyal principio de la celda y ejecútelo. Tenga en cuenta que si ya existe un archivo con el mismo nombre, se sobrescribirá silenciosamente .

Para ver la ayuda de cualquier comando mágico, agregue ?: me gusta %load?o %%writefile?.

Para obtener ayuda general sobre las funciones mágicas, escriba "%magic". Para obtener una lista de las funciones mágicas disponibles, utilice %lsmagic. Para obtener una descripción de cualquiera de ellos, escriba %magic_name?, por ejemplo, '%cd?'.

Ver también: Funciones mágicas de los documentos oficiales de IPython.

user2304916 avatar Jan 10 '2014 02:01 user2304916

Para escribir/guardar

%%writefile myfile.py

  • escriba/guarde el contenido de la celda en myfile.py (úselo -apara agregar). Otro alias:%%file myfile.py

Correr

%run myfile.py

  • ejecute myfile.py y genere los resultados en la celda actual

Para cargar/importar

%load myfile.py

  • cargar "importar" myfile.py en la celda actual

Para más magia y ayuda.

%lsmagic

  • Enumere todos los demás comandos interesantes de Cell Magic.

%COMMAND-NAME?

  • para obtener ayuda sobre cómo utilizar un determinado comando. es decir%run?

Nota

Además de los comandos mágicos de celda, el cuaderno IPython (ahora cuaderno Jupyter) es tan genial que te permite usar cualquier comando de Unix directamente desde la celda (esto también equivale a usar el %%bashcomando mágico de celda).

Para ejecutar un comando de Unix desde la celda, simplemente preceda su comando con !una marca. Por ejemplo:

  • !python --versionver tu versión de Python
  • !python myfile.pyejecute myfile.py y genere los resultados en la celda actual, tal como %run(vea la diferencia entre !pythony %runen los comentarios a continuación).

Además, consulte este nbviewer para obtener más explicaciones con ejemplos.

Aziz Alto avatar May 15 '2015 01:05 Aziz Alto