Libro Python Aplicado de Eugenia Bahit. GNU/Linux, ciencia de datos, y desarrollo web

Banner de Python Aplicado

Introducción al scripting con Python


Cita con formato IEEE:
E. Bahit, "Primer acercamiento al scripting", in Python Aplicado, 4th ed., EBRC Publisher, 2022, pp. 19–20.

Cita con formato APA 7:
Bahit, E. (2022). Primer acercamiento al scripting. In Python Aplicado (4th ed., pp. 19–20). EBRC Publisher.

Cita en línea:
(Bahit, 2022)

En programación, un script es un archivo de código fuente con instrucciones sencillas, que puede ser ejecutado a través de la línea de comandos. Se conoce como scripting a la técnica de programación empleada para crear este tipo de archivos.

Para que un archivo de código fuente sea considerado un script, debe cumplir las siguientes características:

  1. Ser ejecutable.
  2. Estar escrito en un lenguaje que pueda ser interpretado por el ordenador.
  3. No depender de otros archivos.

1. Archivo ejecutable

Para que un archivo pueda ser ejecutado, hay que otorgarle permisos de ejecución. Desde la línea de comandos, se logra con el comando chmod:

chmod +x nombre-del-archivo

2. Lenguaje interpretado

Un script puede ser escrito en cualquier lenguaje interpretado, soportado por el Sistema Operativo, como Python, Perl, GNU Bash, PHP, Ruby, etc.

Para que el sistema operativo sepa qué intérprete utilizar para entender y ejecutar el script, se debe colocar la ruta de dicho intérprete en la primera línea del archivo, antecedida por los símbolos #!. Lo anterior se conoce como hashbang o shebang.

Dado que la ruta de un intérprete puede ser distinta en los diversos Sistemas Operativos o distribuciones, realizar la llamada al intérprete a través de env, es una práctica habitual:

#!/usr/bin/env python

Por este motivo, un script no requiere de una extensión para poder ser interpretado.

Algunos ejemplos:

Diferentes ejemplos de aplicación de la ruta del intérprete en archivos ejecutables (scripts)
Codigo Significado
#!/usr/bin/env python Intérprete Python (versión por defecto)
#!/usr/bin/env python2 Fuerza a utilizar el intérprete de Python 2.x
#!/usr/bin/env python3 Fuerza a utilizar el intérprete de Python 3.x
#!/usr/bin/env bash Intérprete de GNU Bash

3. Script vs Programa

Si un archivo de código fuente que es ejecutable y contiene la ruta del intérprete, depende de otros archivos, entonces se lo considera parte de un programa. Al no tener independencia, no cuenta como script.

Convertir un script en comando del sistema

Archivo: hola-mundo.py

#!/usr/bin/env python2
print("Hola Mundo!")

Crear un archivo llamado hola-mundo.py (con el contenido anterior), asignarle permisos de ejecución y probar el script en la línea de comandos ejecutando la siguiente instrucción:

./hola-mundo.py

Ahora, como root, copiar el archivo en la carpeta /usr/bin con el nombre hola-mundo:

cp hola-mundo.py /usr/bin/hola-mundo

El script está ahora disponible para ser ejecutado como comando.

usuario@equipo:~$ hola-mundo

Salida:

Hola Mundo! usuario@equipo:~$