Los argumentos de línea de comandos de Python son parámetros de entrada que se pasan al script al ejecutarlos. Casi todos los lenguajes de programación proporcionan soporte para los argumentos de línea de comandos. Luego también tenemos opciones de línea de comandos para establecer algunas opciones específicas para el programa.
Argumentos de Línea de Comandos de Python
Hay muchas opciones para leer los argumentos de línea de comandos de Python. Las tres más comunes son:
- El módulo sys.argv de Python
- El módulo getopt de Python
- El módulo argparse de Python
Vamos a ver un programa simple para aprender cómo leer y usar los argumentos de línea de comandos de Python.
Módulo sys de Python
El módulo sys de Python almacena los argumentos de línea de comandos en una lista, podemos acceder a ella usando sys.argv
. Esta es una forma muy útil y simple de leer los argumentos de línea de comandos como cadenas. Veamos un ejemplo simple para leer e imprimir los argumentos de línea de comandos usando el módulo sys de Python.
import sys
print(type(sys.argv))
print('The command line arguments are:')
for i in sys.argv:
print(i)
A continuación se ilustra la salida de una ejecución de muestra del programa anterior. Hay muchas otras funciones útiles en el módulo sys, léelas en detalle en el módulo sys de Python.
El módulo getopt de Python
El módulo getopt de Python es muy similar en funcionamiento a la función C getopt()
para analizar parámetros de línea de comandos. El módulo getopt de Python es útil para analizar argumentos de línea de comandos donde queremos que el usuario también ingrese algunas opciones. Veamos un ejemplo simple para entender esto.
import getopt
import sys
argv = sys.argv[1:]
try:
opts, args = getopt.getopt(argv, 'hm:d', ['help', 'my_file='])
print(opts)
print(args)
except getopt.GetoptError:
# Imprime un mensaje o realiza algo útil
print('Something went wrong!')
sys.exit(2)
El ejemplo anterior es muy simple, pero podemos extenderlo fácilmente para hacer varias cosas. Por ejemplo, si se pasa la opción de ayuda, entonces imprimir algún mensaje amigable para el usuario y salir. Aquí el módulo getopt automáticamente analizará el valor de la opción y los mapeará. La siguiente imagen muestra una ejecución de muestra. Para obtener más información, lee el módulo getopt de Python.
El módulo argparse de Python
El módulo argparse de Python es la forma preferida de analizar argumentos de línea de comandos. Proporciona muchas opciones como argumentos posicionales, valor predeterminado para los argumentos, mensaje de ayuda, especificación del tipo de datos del argumento, etc. En su forma más simple, podemos usarlo de la siguiente manera.
import argparse
parser = argparse.ArgumentParser()
parser.parse_args()
A continuación se muestra la salida de la ejecución rápida del script anterior. El módulo argparse de Python proporciona muchas características, deberías leer sobre ellas en el tutorial de argparse de Python para entenderlas claramente. Eso es todo respecto a las diferentes opciones para leer y analizar argumentos de línea de comandos en Python, deberías decidir cuál es la más adecuada para tus requisitos específicos y luego usarla. Referencias:
Source:
https://www.digitalocean.com/community/tutorials/python-command-line-arguments