Mezclando Python y línea de comandos: xonsh

Posted by in Otros, Sistemas Operativos

xonsh

xonsh

Para la entrada de hoy, traigo una mezcla un poco extraña, de integrar Python con la línea de comandos, algo que es el objetivo de xonsh, y que me llamó la atención pues el objetivo es integrar Python a la hora de desarrollar acciones sobre la línea de comandos.

Advertencia, es necesario disponer de una versión superior a Python 3.4!!! En mi caso, además, estoy usando Cmder como línea de comandos.

Cmder cómo consola de comandos

Cmder es una aplicación sustituta de la línea de comandos (más bien es un emulador), que llevo usando desde que utilizo Windows 7 (recientemente han actualizado de sistema operativo en mi trabajo), y ahora la uso diariamente. Tiene varias características que me han hecho decantarme por esta opción, y es que puedo «copiar y pegar» desde teclado, o bien desplegar distintos tipos de consola, o preparar atajos de comandos bajo alias.

cmder

cmder

Sin duda, una buena herramienta con mucho más potencial del clásico cmd. Se puede crear una ventana de comandos para Bash, o para PowerShell, e incluso se puede personalizar el tipo de ventana de comando pues las opciones de configuración son realmente amplias.

No requiere instalación, por lo que transferir esta aplicación a otro ordenador es simplemente copiar el directorio donde está! Más fácil, imposible.

Instalar Xonsh

En mi caso, instalé Anaconda 3.6 así que ya tenía los requisitos mínimos para probar xonsh. En Windows, no conseguí acceder por la primera forma de instalación usando conda, y al final, terminé ejecutando la segunda, descargando el código fuente y haciendo una instalación manual. Para arrancar, poner xonsh y ya estamos:

xonsh

xonsh

Ya tenemos xonsh operativo, para ejecutar tareas, además de que el autocompletado te facilitará tu tarea.

Si vas al tutorial, comprobarás cómo puedes definir funciones (incluso con argumentos) utilizando la sintaxis de Python, puedes importar módulos, utilizar flujos de control, sentencias for, utilizar todos los tipos de Python (numeros, cadenas, diccionarios, listas, clases, …), todo para optimizar el desarrollo de tareas desde la línea de comandos.

También he encontrado algún artículo para iniciarte en xonsh, como éste, que incluso viene con un curioso script de ejemplo.

Y por último, nada mejor que ver el video del creador de Xonsh de qué puedes hacer:

Y esto es todo por hoy, pasen un buen día y happy coding!