Conceptos básicos de Python frente a Bash

PythonBeginner
Practicar Ahora

Introducción

En la automatización de Linux, Bash es excelente para combinar herramientas de línea de comandos. Sin embargo, cuando la lógica se vuelve más compleja, Python suele ser una opción más adecuada porque ofrece una estructura más clara, una mejor gestión de datos y una biblioteca estándar completa.

Por eso muchos equipos de operaciones utilizan ambos lenguajes: Bash para tareas breves propias del shell y Python para scripts de automatización más fáciles de mantener.

En este laboratorio dará sus primeros pasos con Python dentro de un entorno Linux. Aprenderá a comprobar la versión de Python, usar el shell interactivo para realizar pruebas rápidas y escribir un script de Python que se comporte como un comando nativo de Linux.

Comprobar la versión de Python

Antes de escribir código, es fundamental saber qué versión del intérprete de Python está instalada en el sistema. La mayoría de las distribuciones modernas de Linux, incluido el sistema Ubuntu que está utilizando, incluyen Python 3 preinstalado.

En las operaciones, comprobar la versión también permite verificar la compatibilidad. Las distintas versiones de Python pueden incorporar o eliminar características del lenguaje y modificar el comportamiento de las bibliotecas. Un script que funciona en una máquina puede fallar en otra si se da por sentado, sin comprobarlo, que el intérprete es idéntico en todos los sistemas.

En este paso comprobará la versión instalada de Python 3. Así se asegurará de que el entorno está preparado para los scripts que escribirá más adelante.

Abra el terminal y ejecute el siguiente comando para comprobar la versión:

python3 --version

Debería ver una salida similar a esta:

Python 3.10.12

El número exacto de versión puede variar ligeramente, pero mientras sea Python 3.x, puede continuar. Observe que usamos python3 de forma explícita porque, en algunos sistemas antiguos, python (sin el 3) puede hacer referencia a la versión obsoleta Python 2 o no estar enlazado a ningún intérprete.

Usar el REPL

Python proporciona un shell interactivo, conocido habitualmente como REPL (Read-Eval-Print Loop, ciclo de lectura, evaluación e impresión). Es una herramienta muy útil para probar fragmentos de código, comprobar si una biblioteca está disponible o realizar cálculos rápidos sin crear un archivo.

El REPL resulta útil porque acorta el ciclo de retroalimentación. En lugar de editar un archivo, guardarlo y ejecutarlo repetidamente, puede probar una expresión cada vez. Muchos ingenieros utilizan el REPL del mismo modo que un prompt de shell: como un espacio para experimentar antes de convertir una idea en un script real.

En este paso abrirá el shell interactivo de Python, ejecutará un comando sencillo y volverá al shell de Bash.

Primero, inicie el shell interactivo de Python 3 escribiendo:

python3

El prompt cambiará a >>>, lo que indica que ahora se encuentra dentro del entorno de Python.

A continuación, escriba un comando sencillo de Python para mostrar un mensaje:

print("Hello from Python REPL")

Verá la salida inmediatamente.

Para salir del shell de Python y volver al shell estándar de Linux Bash, escriba:

exit()

También puede pulsar Ctrl + D.

Después de salir, debería volver a ver el prompt de comandos estándar, por ejemplo, labex:~/project $.

Crear un script

Aunque el REPL es excelente para realizar pruebas, la automatización real requiere guardar el código en scripts. Un script de Python es simplemente un archivo de texto que contiene código de Python.

La ventaja práctica de un script frente a un comando puntual es que se puede repetir. Una vez que la lógica está guardada en un archivo, puede revisarla, versionarla con Git, volver a ejecutarla al día siguiente y compartirla con otro ingeniero sin tener que escribirla de nuevo.

En este paso creará un archivo llamado system_info.py.

Use el editor de texto nano para crear y abrir el archivo:

nano system_info.py

Añada al archivo el siguiente contenido:

print("Starting system info script...")

Para guardar el archivo y salir de nano:

Para guardar los cambios en el editor nano, pulse Ctrl + O y, después, pulse Enter para confirmar el nombre del archivo. Por último, pulse Ctrl + X para salir del editor y volver al terminal.

Ahora, compruebe que se ha creado el archivo:

ls -l system_info.py

Usar la biblioteca estándar

Una de las mayores ventajas de Python es su biblioteca estándar, que incluye una gran cantidad de funciones listas para usar. A diferencia de Bash, donde a menudo es necesario analizar la salida de comandos como uname o cat /etc/os-release, Python proporciona módulos integrados para acceder a la información del sistema de forma clara.

Esta es una de las razones principales por las que Python se utiliza habitualmente en las herramientas de operaciones. En lugar de combinar muchos comandos pequeños para procesar texto, puede trabajar directamente con funciones y objetos estructurados. Esto suele hacer que los scripts sean más fáciles de leer y menos frágiles cuando cambian los formatos de salida.

En este paso modificará el script para usar la biblioteca platform y mostrar información sobre el sistema operativo.

Vuelva a abrir el script con nano:

nano system_info.py

Modifique el contenido para que quede así:

import platform

print("Starting system info script...")
print(f"System: {platform.system()}")
print(f"Release: {platform.release()}")
print(f"Version: {platform.version()}")

Guarde los cambios y salga de nano (Ctrl+O, Enter, Ctrl+X).

Puede probar el script pasándolo explícitamente al intérprete de Python:

python3 system_info.py

Debería ver una salida con información detallada sobre su entorno Linux.

Ejecutar el script

En los pasos anteriores, ejecutó el script mediante python3 system_info.py.

Invocar el intérprete de forma explícita es el patrón más claro para principiantes porque elimina cualquier ambigüedad. El shell no tiene que adivinar cómo ejecutar el archivo y usted puede ver exactamente qué intérprete ejecuta el código.

En el uso habitual de Linux, a veces verá scripts ejecutados directamente, como ./system_info.py. Para ello se necesitan dos elementos:

  1. La línea «shebang» (que omitimos).
  2. Permisos de «ejecución» en el archivo.

Como estamos trabajando en un entorno simplificado sin shebang, utilizaremos el método más fiable: ejecutar el script explícitamente con el intérprete de Python.

Vuelva a ejecutar el script para confirmar que sigue funcionando:

python3 system_info.py

Este comando explícito indica a Linux exactamente qué debe hacer: «Usar el programa python3 para leer y ejecutar las instrucciones del archivo system_info.py».

Resumen

En este laboratorio ha conseguido conectar Bash y Python. Ha aprendido a:

  • Comprobar la versión de Python para verificar la compatibilidad del entorno.
  • Usar el REPL para realizar pruebas interactivas.
  • Crear un script de Python.
  • Usar la biblioteca estándar platform para acceder a los datos del sistema.
  • Ejecutar el script mediante el comando python3.

Estas habilidades constituyen la base de los scripts de Python en Linux y le permiten escribir herramientas de automatización más complejas y legibles de lo que normalmente sería posible usando únicamente Bash.