jueves, 30 de enero de 2025

Como guardar un fichero de Python y compartirlo con el mundo

Nota1: Este post es una traducción del original en ingles por lo tanto es posible que algunas palabras clave en las instrucciones de código están traducidas también al español y se deban corregir para que la ejecución del código sea satisfactoria.

Cómo crear una librería de Python

Crea tu librería de Python de cero y compártela con el resto del mundo. ¡Tu librería de Python podrá instalarse con un simple pip install!

 Antonio Fernández Troyano

Antonio Fernández Troyano, Follow, 6 min read,

Feb 22, 2021
 
Si alguna vez te has planteado cómo crear una librería de Python has llegado al lugar correcto.

Pero, ¿qué es una librería en programación?

En programación, una librería es un conjunto de funcionalidades empaquetadas que permiten a los usuarios realizar nuevas tareas que inicialmente no podían llevar a cabo

En Python existen un montón de librerías que utilizamos diariamente, entre otras:

  • Numpy y Pandas para tratamiento numérico y tabular
  • Sklearn para machine learning
  • Matplotlib y Seaborn para visualización
  • Requests y bs4 para web scraping

Muchas veces el día a día nos impide darle un “second order thinking” a las cosas, como por ejemplo:

  • ¿Cómo se programaron esas librerías que tanto usamos?
  • ¿Puedo yo programar una librería?
  • ¿Cómo podría compartir mis funciones para que otras personas se beneficien de mi esfuerzo y trabajo?

Pero, ¿y si queremos crear nuestra propia librería de Python y publicarla para que todo el mundo pueda instalarla y utilizarla?

En este artículo vamos a crear una librería de python y utilizaremos una adaptación del código que programé para extraer información de ficheros PDF de la CNMV:

1. Estructura de una librería de Python

Básicamente necesitaremos crear las siguientes carpetas y ficheros:

 

 

 En nuestro caso particular vamos a llamar a la librería “Leer_PDF” y vamos a crear esta estructura de carpetas y ficheros (sin código todavía):

 

Vamos a ver rápidamente qué debe incluir cada archivo:

  • Funciones.py : fichero que llamaremos como nos de la gana y donde se incluirán las funciones que luego pueden importarse
  • __init__.py : fichero gracias al cual Python interpreta que está delante de una librería. Puede estar en blanco, sin código
  • setup.py : instrucciones para poder instalar nuestra librería, como por ejemplo, requisitos previos de instalación de otras librerías
  • README.md : fichero en formato Markdown en el que incluiremos información sobre nuestra librería (es opcional)

2. Código de los ficheros

Vamos a empezar a escribir el código dentro de cada fichero

2.1. Funciones.py

En este archivo incluiremos todas aquellas librerías que son necesarias importar para que funcione nuestras nuevas funciones (como pandas, numpy, etc) y las propias funciones que nosotros vamos a definir.

En este ejemplo sencillo lo único que vamos a definir es una función “leer_pdf” al cual le enviaremos el path de un fichero y tratará de leer el contenido. Si no encuentra ningún error, imprimirá el resultado. En caso contrario no pasará nada.

Vemos el código:

 >>import fitz #librería pymupdf
>> def leer_pdf(path):
>>      try:
>>           with fitz.open(path) as file:
>>                   text = ''
>>                  for page in file:
>>                        text += page.getText()
>>          print(text)
>>     except:
>>          pass
 

  2.2. __init__.py

Este fichero lo podemos dejar en blanco. Si lo dejamos en blanco, a la hora de utilizar nuestra función en Python deberemos invocarla así:

 >>from Leer_PDF.Funciones import leer_pdf

 No es una manera muy elegante de invocar a nuestra función. Si queremos simplificarlo simplemente incluiremos en el fichero __init__.py las siguientes líneas de código:

 

>>from .Funciones import leer_pdf
 

Ahora sí que cualquiera que utilice nuestra librería podrá invocar a la función

 de la siguiente manera: 

 

>>from Leer_PDF import leer_pdf

 Nota2: es muy IMPORTANTE incluir la ruta relativa del fichero. En este caso, Funciones.py está en el mismo directorio que __init__.py por lo que solo tenemos que añadir un punto delante del nombre

 

2.3. setup.py

Quizás este sea el documento más “complejo”, pero nada del otro mundo. Una configuración básica de este fichero sería:

>>import pathlib

>>from setuptools import find_packages, setup

>>HERE = pathlib.Path(__file__).parent

>>VERSION = '0.0.1' #Muy importante, deberéis ir cambiando la versión de vuestra librería según incluyáis nuevas funcionalidades
>>PACKAGE_NAME = 'Leer_PDF' #Debe coincidir con el nombre de la carpeta
>>AUTHOR = 'Antonio Fernandez Troyano' #Modificar con vuestros datos
>>AUTHOR_EMAIL = 'a.fernandez.troyano@gmail.com' #Modificar con vuestros datos
>>URL = 'https://github.com/afernandez119' #Modificar con vuestros datos

>>LICENSE = 'MIT' #Tipo de licencia
>>DESCRIPTION = 'Librería para leer ficheros PDFs y extraer la información en formato str' >>#Descripción corta
>>LONG_DESCRIPTION = (HERE / "README.md").read_text(encoding='utf-8') #Referencia al documento README con una descripción más elaborada
>>LONG_DESC_TYPE = "text/markdown"


>>#Paquetes necesarios para que funcione la libreía. Se instalarán a la vez si no lo tuvieras ya instalado
>>INSTALL_REQUIRES = [
>>'pymupdf'
>>]

>>setup (
>>         name=PACKAGE_NAME,
>>         version=VERSION,
>>         description=DESCRIPTION,
>>         long_description=LONG_DESCRIPTION,
>>         long_description_content_type=LONG_DESC_TYPE,
>>         author=AUTHOR,
>>         author_email=AUTHOR_EMAIL,
>>         url=URL,
>>         install_requires=INSTALL_REQUIRES,
>>         license=LICENSE,
>>         packages=find_packages(),
>>         include_package_data=True
>>          )

 

Los campos más importantes serían:

  • Version: según mejores tu librería y le incluyas más funcionalidades, deberás incrementar la versión
  • name: este nombre debe coincidir con el nombre de la carpeta, así se llamará tu librería. Si lo vas a subir a internet el nombre no puede estar en uso
  • install_requires: librerías necesarias para que funcione tu librería

2.4. README.md

Simplemente se trata de un documento en formato Markdown donde se debe describir para qué sirve nuestra librería, formas de utilizarlo, etc.

Un ejemplo sencillo y básico de un fichero README.md para nuestra librería “leer_pdf” podría ser:

 

Librería leer PDFs

Por Antonio Fernández Troyano - https://www.fernandeztroyano.es


Librería que te permite extraer el texto contenido en un fichero PDF.

Para utilizarlo simplemente necesitas incluir la ruta del fichero y te imprimirá el contenido del mismo en formato texto.


💡 Prerequisitos

Python 3


📚 Ejemplo de uso

from leer_PDF import leer_pdf

leer_pdf('.\Documento.pdf')

🐸 Aloha!


https://www.linkedin.com/in/atroyano/

view raw README.md hosted with ❤ by GitHub

 

 

3. Publicar nuestra librería de Python en internet

Si hemos seguido los pasos, tendremos un carpeta con los siguientes ficheros y los códigos del apartado 2.

  

¿Qué es lo siguiente? publicar nuestra librería en internet para que todo el mundo pueda acceder a la misma.

3.1. Empaquetado de la librería y creación de los ficheros dist (distribution packages)

Ahora que ya tenemos todos los ficheros, tendremos que empaquetar nuestra librería para poder subirla al repositorio PyPI y que todo el mundo pueda descargarla.

Para ello primeros ejecutaremos el fichero setup.py en la consola de Linux o a través de la línea de comandos de Visual Studio Code si estás en Windows, por ejemplo:

python setup.py sdist bdist_wheel

Si todo va bien se os creará una nueva carpeta llamada “dist” que contendrá la librería empaquetada lista para su distribución

¡Librería empaquetada lista para distribuirla por internet!

3.2. Publicar librería en PyPI y PyPI test

Ahora que ya tenemos empaquetada nuestra librería solo nos quedará publicarla en algún repositorio online, como PyPI.

Antes de colgarla en abierto para todo el mundo, es conveniente realizar una primera prueba en PyPI test y cuando estemos seguros lo publicamos en PyPI.

Requisitos:

a) Primera publicación en PyPI test:

Básicamente se trata de subir los ficheros mediante twine:

twine upload --repository testpypi dist/Leer_PDF-0.0.1.tar.gz dist/Leer_PDF-0.0.1-py3-none-any.whl

Introducimos nuestro usuario y contraseña y si todo va bien…

Ejemplo de como subir una librería de python a PyPI test

Ahora podemos verificar que se ha instalado correctamente mediante Google Colab, por ejemplo:

El enlace del test pypi lo podéis sacar también de vuestra cuenta

b) Publicación definitiva en PyPI:

Si ya habéis probado en a subir vuestra librería en PyPI test y funciona, es hora de cargar vuestra librería en PyPI:

twine upload dist/Leer_PDF-0.0.1.tar.gz dist/Leer_PDF-0.0.1-py3-none-any.whl

¡Y listo!

 

 

 

 

 

 

 

Como instalar una libreria que no pertenece a Google Colab

 

Cómo instalar una biblioteca de forma permanente en Colab

En este blog, descubra cómo, como ingeniero de software, puede abordar el desafío de usar bibliotecas no predeterminadas en Colab, una plataforma popular basada en la nube para cuadernos Jupyter. Explore una guía paso a paso sobre cómo instalar bibliotecas específicas de forma permanente en Colab para mejorar su entorno de codificación y superar las limitaciones del conjunto de bibliotecas preinstaladas
 
 Por Saturno Nube | | Varios | Actualizado:
Como ingeniero de software, es posible que haya tenido que usar una biblioteca específica que no está disponible de forma predeterminada en Colab. Colab es una plataforma popular para ejecutar cuadernos Jupyter en la nube y ofrece una amplia gama de bibliotecas preinstaladas. Sin embargo, es posible que algunas bibliotecas no estén incluidas. En esta publicación del blog, le mostraremos cómo instalar una biblioteca de forma permanente en Colab. 
 
 

Entendiendo Colab

Colab es un servicio gratuito basado en la nube proporcionado por Google que te permite ejecutar cuadernos Jupyter. Ofrece una amplia gama de bibliotecas preinstaladas, incluidas NumPy , pandas , Matplotlib y Flujo tensor . Puedes usar Colab para ejecutar tu código en los servidores de Google, lo que significa que no necesitas preocuparte por las limitaciones de hardware y puedes ejecutar tu código más rápido.

Sin embargo, puede haber casos en los que necesites instalar una biblioteca que no esté incluida en las bibliotecas preinstaladas de Colab. En esos casos, puedes instalar la biblioteca mediante el !pip comando.

Instalación de una biblioteca en Colab

Para instalar una biblioteca en Colab, puedes usar el siguiente comando:

>>!pip install <library-name>

Reemplace <library-name>con el nombre de la biblioteca que desea instalar. Por ejemplo, si desea instalar la numpybiblioteca, puede utilizar el siguiente comando:

>>!pip install numpy

Esto instalará la numpy biblioteca en su entorno Colab.

Sin embargo, hay un problema. Cuando cierras tu notebook de Colab o finaliza el tiempo de ejecución, se eliminará la biblioteca que instalaste. Esto significa que la próxima vez que abras tu notebook, tendrás que reinstalar la biblioteca.

Instalación permanente de una biblioteca en Colab

Primero, monte Google Drive ejecutando:

>>from google.colab import drive
>>drive.mount("/content/drive")

Sigue las instrucciones que aparecen en la ventana de solicitud para completar la configuración de Google Drive. A continuación, establece un entorno virtual y guárdalo en tu Google Drive montado. Esto garantiza que, cuando abras un nuevo Notebook de Colab en el futuro, solo tendrás que montar Google Drive, activar el entorno virtual y podrás utilizar sin problemas los paquetes instalados. Asegúrate de instalar virtualenv antes de ejecutar el siguiente código para crear un entorno virtual:

>>!virtualenv /content/drive/MyDrive/virtual_env

 Texto alternativo  

Ahora, intentemos instalar un paquete. En este tutorial, instalaremos Pypdf, una biblioteca que nos permite trabajar con archivos PDF usando Python.

>>!source /content/drive/MyDrive/virtual_env/bin/activate; pip install Pypdf

En el fragmento de código anterior, el comando  

>>!source/content/drive/MyDrive/colab_env/bin/activate

activa el virtual_env entorno y, al mismo tiempo, pip install Pypdf instala la biblioteca Pypdf dentro de ese entorno activado. Ahora podemos ver que el pypdf paquete se ha instalado y se encuentra dentro de nuestro virtual_env entorno.

Texto alternativo  

Al seguir estos pasos, se habrá instalado un paquete en un entorno virtual y se habrá guardado en Google Drive. La próxima vez que necesite utilizar ese paquete, siga los pasos siguientes:

>>import sys
>># add the path of the virtual environmentsite-packages to colab system path
>>sys.path.append("/content/drive/MyDrive/colab_env/lib/python3.8/site-packages")

 

Ahora ya puedes utilizar tu paquete, veamos un ejemplo:

>>from pypdf import PdfReader

>>reader = PdfReader("/content/Saturn.pdf")
>>number_of_pages = len(reader.pages)
>>print(number_of_pages)

 

Conclusión

Instalar una biblioteca de forma permanente en Colab es un proceso simple que implica usar el !pip comando y crear un entorno virtual dentro de Google Drive. Si sigue los pasos que se describen en esta publicación del blog, podrá asegurarse de que la biblioteca que necesita esté siempre disponible en su cuaderno de Colab y ahorrar tiempo al trabajar con un cuaderno nuevo al asegurarse de tener las bibliotecas antiguas necesarias disponibles.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

miércoles, 29 de enero de 2025

Hojas de trucos (Cheatsheet) en Python

 

¿Qué es una Cheatsheet?

  • Si bien podemos comprender un lenguaje y su concepto, es imposible recordar todo sobre él.
  • Incluso los desarrolladores más experimentados pueden olvidar fácilmente como dividir una lista, crear varias clases de caracteres para una expresión regular o crear un bucle.
  • Es donde entran en juego las hojas de trucos. Te ayudan a llegar a la conclusión sin preocuparte mucho por detalles innecesarios, ya que te facilitan que no tengas que recordar todo sobre el idioma.
  • Estas hojas de trucos le brindan referencias básicas para principiantes y desarrolladores avanzados, además de reducir la barrera de entrada para los recién llegados y ayudar a los veteranos a actualizar sus viejos trucos.

  



Estas son algunas de las principales hojas de trucos que encontré

Serie de hojas de trucos

Ciencia de datos

Python

Conclusión

  • Creo que existen muchos trucos que aprender en diferentes lenguajes y editores de código.( si tienes mas me lo haces saber y con gusto la agregare),
  • Intentare ir dejando todos estos trucos ordenados en un solo repositorio. Eso se lo dejo a mí yo del futuro!!.

 

 


 

Que es Ipython

 

IPython y comandos mágicos

Author: Eduardo July 27, 2021
6 min. read
 
IPython, es sin duda una de mis herramientas favoritas en cuanto al desarrollo en Python se refiere. Después de crear mi entorno de desarrollo, mi siguiente tarea es siempre instalar IPython. No importa si el proyecto es relativamente pequeño o no, si es web o no. No importa, IPython siempre estará para todos mis proyectos. 🧐
 
Por la gran facilidad que esta herramienta nos ofrece, tanto para crear como testear código Python, me gustaría explicarte en detalle qué es IPython y cómo podemos sacarle el máximo provecho en nuestros procesos de desarrollo. 🐍

Es una herramienta que sin duda vale muchísimo la pena, así que te invito a que te quedes al final de esta entrega.

Bien, si más introducción comencemos con el tutorial.

Si nunca habías escuchado acerca de IPython, bueno, aquí te lo explico. IPython es una Shell interactivo de Python, un Shell con baterías incluida.

IPython no se encuentra dentro de la biblioteca estándar de Python, por lo tanto para poder utilizar esta herramienta será necesario instalarla. Para ello ejecutamos el siguiente comando.

>> pip install ipython 

Una vez la librería se haya instalado, podremos ingresar a su Shell interactivo ejecutando en terminal el comando 'ipython'.


 

Dentro del Shell seremos capaces de escribir y ejecutar código Python.

Lo primero que podemos notar es el auto completado. Haciendo uso de la tecla tab podremos auto completar variables, funciones, clases, imports, rutas etc... 

Algo sin duda super útil para nuestro desarrollo.

Pero lo más interesante de IPython no son sus colores o el auto completado, no. Lo interesante de IPython son sus comandos mágicos.

Los comandos mágicos no son más que comandos que nos permitirán resolver tareas cotidianas en el desarrollo. Estos comandos se identifican por el prefijo porcentaje (%).

Existen una gran cantidad de comandos mágicos, sin embargo para este post me gustaría compartir los que considero los más relevantes, los que sin duda usaremos en nuestro día a día. 



 

Comandos Mágicos.

Comencemos con el comando %time. Un comando mágico que nos permitirá conocer cuanto tiempo a tomado una tarea ser completada. U comando super útil cuando nos encontramos midiendo rendimientos de performance.

Para utilizar este comando basta con llamarlo y pasar como argumento la tarea de la cual queremos conocer su tiempo de ejecución.

>>def python_task():
>>    import time
>>    time.sleep(2)
>>    print('Fin de la tarea!')

>>%time python_task() 

>>>>Fin de la tarea!
>>>>CPU times: user 310 µs, sys: 841 µs, total: 1.15 ms
>>>>Wall time: 2 s

En este caso para fines prácticos mi función toma una pequeña siesta de 2 segundos. 🥱

Ahora, si lo que deseamos medir no es una función o método, si no un bloque de código, haremos uso del doble porcentaje (%%).

>>In [6]: import time

>>In [7]: %%time
>>   ...: for i in range(3):
>>   ...:     time.sleep(1)

>>>>CPU times: user 889 µs, sys: 13 µs, total: 902 µs
>>>>Wall time: 3 s

Ahora hablemos del comando %run, un comando que, como su nombre nos dice, nos permite ejecutar scripts directamente en el Shell de IPython. Veamos.

Imaginemos que tenemos el siguiente archivo .py; main.py

>>for x in range(0, 10):
>>    print(x)

Para ejecutarlo directamente en el Shell usaremos el comando %run. Basta, como pasar como argumento la ruta del archivo a ejecutar. Ya sea una ruta relativa o absoluta.  

>>In [1]: %run main.py
>>0
>>1
>>2
>>3
>>4
>>5
>>6
>>7
>>8
>>9 

Y en caso el archivo .py a su vez necesite argumentos para su ejecución,  colocamos dichos argumentos sobre el comando %run.

>>%run example.py argumento1 argumento2 argumento3

Si queramos echarle un vistazo al código fuente y ejecutarlo, hacemos uso del comando %load.

>>In [2]: # %load main.py ...: for x in range(0, 10): ...: print(x) ...:

Ojos es importante mencionar que este comando no permite editar el código fuente. El comando %load simplemente carga todo el contenido del archivo en el namespace de IPython. Con lo cual podremos ejecutar el código fuente y hacer uso de sus variables, funciones, clases etc...

Si queremos editar un archivo .py lo ideal sería hacer uso del comando mágico %edit.

>>In [1]: %edit main.py

El comando %edit abrirá un editor de texto donde podremos modificar el archivo.

Y, si solo queremos visualizar el contenido de un archivo, sin ejecutarlo o editarlo, hacemos uso del comando %pycat.

>>In [1]: %pycat main.py for x in range(0, 10): print(x)

Y, ya que mencionamos el namespace ¿Qué pasa si queremos eliminar todas las variables, funciones y clases creadas hasta este momento? Bueno, para ello haremos uso del comando mágico _%reset, eliminando todo el cache de memoria.

>>In [3]: %reset Once deleted, variables cannot be recovered. Proceed (y/[n])? y

Te aconsejo tengas cuidado con este comando, ya que una vez limpio el namespace no hay forma de recuperar los valores para las variables creadas anteriormente. Todo se perderá.

Así que, una muy buena, idea antes de ejecutar este comando, es inspeccionar que variables tenemos en memoria.

>>In [7]: nombre = 'Eduardo' In [8]: titulo = 'Artículo iPython' In [9]: %who nombre titulo

Para este ejemplo cree 2 nuevas variables, las cuales listo mediante el comando mágico %who.


Crear archivos 📃

Algo que simplemente me encanta de IPython es la posibilidad de guardar todas las líneas código ejecutas en el Shell, sí, así como lo escuchas. Esos días donde testeabas tu código en terminal, y si funciona copiabas y pegabas en tu editor de texto, ya podemos dejarlos en el pasado. (Bueno, por lo menos eso hacia yo).

Para crear un nuevo archivo hacemos uso del comando %save, pasando como argumentos de que línea a que línea queremos guardar.

Veamos un ejemplo.

s In [1]: username = 'EduardoGPG' In [2]: name = 'Eduardo Ismael' In [3]: %who name username In [4]: print(f'Hola {username}') Hola EduardoGPG In [5]: print(name) Eduardo Ismael In [6]: print('Nos encontramoen una nueva entrega') Nos encontramos en una nueva entrega

Procedemos a guardar.

In [7]: %save example.py 1-2 4-6 File `example.py` exists. Overwrite (y/[N])? y The following commands were written to file `example.py`: username = 'EduardoGPG' name = 'Eduardo Ismael' print(f'Hola {username}') print(name) print('Nos encontramos en una nueva entrega')

Para este ejemplo le indico a IPython que quiero crear el archivo example.py,con las líneas de la 1 a la 2 y de la 4 a la 6, excluyendo la línea 3.

El comando nos da un preview de todo lo almacenado en dicho archivo.

Y por supuesto, si queremos conocer en más detalle, podemos utilizar los comandos previamente mencionados: %edit o %pycat.


Introspección 🔎

Algo que sin duda me bolo la cabeza cuando lo supe, es lo fácil que podemos conocer el código fuente de funciones, clases y métodos con IPython. 🤯

Para ello utilizamos la introspección.

Vemos un par de ejemplos.

In [11]: def suma(a, b): ...: """" Retorna la suma de a + b """ ...: return a + b ...: In [12]: suma? Signature: suma(a, b) Docstring: " Retorna la suma de a + b File: ~/projects/blue/<ipython-input-11-d3e295ae5f56> Type: function

En este caso he definido la función suma, si quiero conocer su tipo, docstring y a que archivo pertenece, basta con colocar el objeto seguido del subfijo signo de interrogación (?).

Esto no solo funciona para funciones, también podemos hacerlo para variables.

In [13]: nombre = 'Eduardo' In [14]: nombre? Type: str String form: Eduardo Length: 7 Docstring:

Aun que lo común es conocer información sobre bloques de códigos. 😜

y, en caso queramos conocer el código de una función, clase o método recurriremos al doble signo de interrogación (??).

Ejemplo.

In [16]: def palindromo(sentence): ...: """Retornar V/F si la sentencia es un palindromo""" ...: return sentence.lower() == sentence.lower()[::-1] In [19]: palindromo?? Signature: palindromo(sentence) Source: def palindromo(sentence): """Retornar V/F si la sentencia es un palindromo""" return sentence.lower() == sentence.lower()[::-1] File: ~/projects/blue/<ipython-input-16-93fa369798f4> Type: function
Listado de comandos

Ya para finalizar, me gustaría recalcar que, como mencione anteriormente, estos no son todos los comandos mágicos que podemos utilizar con IPython. Así que si te interesa conocer cada uno de ellos, te recomiendo ejecutes el comando %lsmagic..

In [9]: %lsmagic Out[9]: Available line magics: %alias %alias_magic %autoawait %autocall %autoindent %automagic %bookmark %cat %cd %clear %colors %conda %config %cp %cpaste %debug %dhist %dirs %doctest_mode %ed %edit %env %gui %hist %history %killbgscripts %ldir %less %lf %lk %ll %load %load_ext %loadpy %logoff %logon %logstart %logstate %logstop %ls %lsmagic %lx %macro %magic %man %matplotlib %mkdir %more %mv %notebook %page %paste %pastebin %pdb %pdef %pdoc %pfile %pinfo %pinfo2 %pip %popd %pprint %precision %prun %psearch %psource %pushd %pwd %pycat %pylab %quickref %recall %rehashx %reload_ext %rep %rerun %reset %reset_selective %rm %rmdir %run %save %sc %set_env %store %sx %system %tb %time %timeit %unalias %unload_ext %who %who_ls %whos %xdel %xmode Available cell magics: %%! %%HTML %%SVG %%bash %%capture %%debug %%file %%html %%javascript %%js %%latex %%markdown %%perl %%prun %%pypy %%python %%python2 %%python3 %%ruby %%script %%sh %%svg %%sx %%system %%time %%timeit %%writefile Automagic is ON, % prefix IS NOT needed for line magics.

Un comando que nos listará todos los comandos mágicos disponibles, y para que puedas conocer exactamente como funciona cada uno de ellos puedes recurrir a la introspección. Recuerda, basta con utilizar doble signo de interrogación (??).

Ejemplo.

In [10]: %alias??
 

 

 

 

 

 


 

 

 

 

Entradas recientes

Como guardar un fichero de Python y compartirlo con el mundo

Nota1 : Este post es una traducción del original en ingles por lo tanto es posible que algunas palabras clave en las instrucciones de código...

Entradas Populares