¿Cómo cargar/editar/ejecutar/guardar archivos de texto (.py) en una celda de cuaderno IPython?
-
21-12-2019 - |
Pregunta
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?
He encontrado este 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.
Solución
EDITAR:A partir de Ipython 3 (ahora Jupyter Project), el cuaderno tiene un editor de texto que puede usarse 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.py
se 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.py
al principio de la celda y ejecútelo.Tenga en cuenta que si ya existe un archivo con el mismo nombre será sobrescrito silenciosamente.
Para ver la ayuda de cualquier comando mágico, agregue un ?
:como %load?
o %%writefile?
.
Para la ayuda general de las funciones mágicas, escriba " %Magic" para una lista de las funciones mágicas disponibles, use %LSMagic.Para 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.
Otros consejos
Para escribir/guardar
%%writefile myfile.py
- escribir/guardar el contenido de la celda en myfile.py (use
-a
para anexar).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 la 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 %%bash
comando mágico celular).
Para ejecutar un comando de Unix desde la celda, simplemente preceda su comando con !
marca.Por ejemplo:
!python --version
ver tu versión de Python!python myfile.py
ejecute myfile.py y genere los resultados en la celda actual, tal como%run
(ver la diferencia entre!python
y%run
en los comentarios a continuación).
Ver también este nbviewer para más explicaciones con ejemplos.Espero que esto ayude.
Arrastrar y soltar un archivo Python en la tabla de portátiles "Inicio" de Ipython Portátiles "Inicio", haga clic en Cargar.Esto creará un nuevo cuaderno con solo una celda que contenga su contenido de archivo .py
Modele copie / pegue de su editor favorito;)
Me he encontrado satisfactorio para usar LS y CD dentro de Ipython Notebook para encontrar el archivo.Luego escriba gato su_file_name en la celda, y recuperará el contenido del archivo, que puede pegar en la celda como código.