Creando programas de Python de línea de comandos

PythonPythonBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

La interfaz de línea de comandos de Python, también conocida como línea de comandos o interfaz de línea de comandos (CLI, siglas en inglés), es una forma de interactuar con un programa de computadora escribiendo comandos en una terminal o ventana de comandos. Permite a los usuarios ejecutar un programa y pasar argumentos a él, así como recibir la salida del programa en forma de texto. La interfaz de línea de comandos es particularmente útil para automatizar tareas, ejecutar scripts y realizar operaciones avanzadas o complejas que serían difíciles o imposibles de hacer a través de una interfaz gráfica de usuario (GUI, siglas en inglés).

En este laboratorio, aprenderemos a usar el módulo argparse para crear interfaces de línea de comandos para nuestros programas de Python. Empezaremos con ejemplos simples y luego iremos avanzando hacia ejemplos más complejos. Al final de este laboratorio, deberías tener una buena comprensión de cómo usar el módulo argparse para crear poderosas interfaces de línea de comandos para tus programas de Python.

Logros

  • Módulo argparse
  • Scripts de Python

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/FunctionsGroup(["Functions"]) python(("Python")) -.-> python/ModulesandPackagesGroup(["Modules and Packages"]) python/FunctionsGroup -.-> python/function_definition("Function Definition") python/FunctionsGroup -.-> python/arguments_return("Arguments and Return Values") python/FunctionsGroup -.-> python/default_arguments("Default Arguments") python/FunctionsGroup -.-> python/keyword_arguments("Keyword Arguments") python/FunctionsGroup -.-> python/build_in_functions("Build-in Functions") python/ModulesandPackagesGroup -.-> python/importing_modules("Importing Modules") python/ModulesandPackagesGroup -.-> python/standard_libraries("Common Standard Libraries") subgraph Lab Skills python/function_definition -.-> lab-73{{"Creando programas de Python de línea de comandos"}} python/arguments_return -.-> lab-73{{"Creando programas de Python de línea de comandos"}} python/default_arguments -.-> lab-73{{"Creando programas de Python de línea de comandos"}} python/keyword_arguments -.-> lab-73{{"Creando programas de Python de línea de comandos"}} python/build_in_functions -.-> lab-73{{"Creando programas de Python de línea de comandos"}} python/importing_modules -.-> lab-73{{"Creando programas de Python de línea de comandos"}} python/standard_libraries -.-> lab-73{{"Creando programas de Python de línea de comandos"}} end

Importando el módulo Argparse

El primer paso para usar el módulo argparse es importarlo.

Necesitas crear un archivo de Python que contendrá tu código.

touch my_program.py

Podemos hacer esto agregando la siguiente línea de código al principio de nuestro script de Python:

import argparse

Creando un objeto Analizador (Parser)

Una vez que hemos importado el módulo argparse, podemos crear un objeto analizador llamando a la función ArgumentParser(). Esta función toma varios argumentos opcionales, pero por ahora, simplemente proporcionaremos una descripción simple de nuestro programa.

parser = argparse.ArgumentParser(description="Una simple interfaz de línea de comandos.")

Agregando Argumentos

Ahora que tenemos un objeto analizador, podemos comenzar a agregar argumentos a él. Hay varios tipos de argumentos que podemos agregar, como argumentos posicionales y argumentos opcionales. Por ejemplo, podemos agregar un argumento posicional de la siguiente manera:

parser.add_argument("name", help="Tu nombre")

Y un argumento opcional de la siguiente manera:

parser.add_argument("-n", "--number", help="Número de veces para repetir el mensaje", type=int)

Analizando Argumentos

Una vez que hemos agregado todos nuestros argumentos, podemos analizarlos llamando a la función parse_args() de nuestro objeto analizador. Esta función no toma argumentos y devuelve un objeto que contiene los valores de todos nuestros argumentos.

args = parser.parse_args()

Usando los Argumentos

Ahora que hemos analizado nuestros argumentos, los podemos usar en nuestro programa. Por ejemplo, podemos usar el argumento name de la siguiente manera:

print("Hola, " + args.name)

Y el argumento opcional es de la siguiente manera:

print("Hola, " + args.name * args.number)

Código Completo

Aquí está el código completo del laboratorio que incluye todos los pasos descritos anteriormente:

import argparse

## Creando un objeto analizador
parser = argparse.ArgumentParser(description="Una simple interfaz de línea de comandos.")

## Agregando argumentos
parser.add_argument("name", help="Tu nombre")
parser.add_argument("-n", "--number", help="Número de veces para repetir el mensaje", type=int)

## Analizando argumentos
args = parser.parse_args()

## Usando los argumentos
print("Hola, " + args.name * args.number)

Puedes ejecutar el script navegando hasta el directorio donde se encuentra el archivo en la línea de comandos y escribiendo python my_program.py seguido de los argumentos que quieres pasar al script:

python my_program.py --name "John" --number 3

Esto imprimirá "Hola, JohnJohnJohn" en la consola.

Resumen

En este laboratorio, aprendimos cómo usar el módulo argparse para crear una interfaz de línea de comandos para un programa de Python. Vimos cómo importar el módulo argparse, crear un objeto analizador, agregar argumentos al analizador, analizar los argumentos y usarlos en nuestro programa. Con este conocimiento, deberías poder crear poderosas interfaces de línea de comandos para tus programas de Python.