Los argumentos que se dan después del nombre del programa en la línea de comandos del sistema operativo se conocen como Argumentos de línea de comando . Python proporciona varias formas de abordar este tipo de argumentos. Los tres más comunes son:
Usando sys.argv
El módulo sys proporciona funciones y variables que se utilizan para manipular diferentes partes del entorno de ejecución de Python. Este módulo proporciona acceso a algunas variables utilizadas o mantenidas por el intérprete y a funciones que interactúan fuertemente con el intérprete.
Una de esas variables es sys.argv, que es una estructura de lista simple. Su objetivo principal es:
- Es una lista de argumentos de la línea de comando.
- len(sys.argv) proporciona el número de argumentos de la línea de comando.
- sys.argv[0] es el nombre del script Python actual.
Ejemplo: Supongamos que hay un script de Python para sumar dos números y los números se pasan como argumentos de línea de comandos.
Python3
# Python program to demonstrate> # command line arguments> import> sys> # total arguments> n>=> len>(sys.argv)> print>(>'Total arguments passed:'>, n)> # Arguments passed> print>(>'
Name of Python script:'>, sys.argv[>0>])> print>(>'
Arguments passed:'>, end>=> ' '>)> for> i>in> range>(>1>, n):> >print>(sys.argv[i], end>=> ' '>)> > # Addition of numbers> Sum> => 0> # Using argparse module> for> i>in> range>(>1>, n):> >Sum> +>=> int>(sys.argv[i])> > print>(>'
Result:'>,>Sum>)> |
>
>
Producción:

Usando el módulo getopt
Pitón módulo getopt es similar a la función getopt() de C. A diferencia del módulo sys, el módulo getopt extiende la separación de la cadena de entrada mediante la validación de parámetros. Permite opciones tanto cortas como largas, incluida una asignación de valor. Sin embargo, este módulo requiere el uso del módulo sys para procesar los datos de entrada correctamente. Para utilizar el módulo getopt, es necesario eliminar el primer elemento de la lista de argumentos de la línea de comandos.
Sintaxis: getopt.getopt(argumentos, opciones, [opciones_largas])
Parámetros:
argumentos: Lista de argumentos a pasar.
opciones: Cadena de letras de opción que el script quiere reconocer. Las opciones que requieren un argumento deben ir seguidas de dos puntos (:).
opciones_largas: Lista de cadenas con el nombre de opciones largas. Las opciones que requieren argumentos deben ir seguidas de un signo igual (=).
Tipo de devolución: Devuelve un valor que consta de dos elementos: el primero es una lista de pares (opción, valor). La segunda es la lista de argumentos del programa que quedan después de que se eliminó la lista de opciones.
desventajas de internet
Ejemplo:
Python3
# Python program to demonstrate> # command line arguments> import> getopt, sys> # Remove 1st argument from the> # list of command line arguments> argumentList>=> sys.argv[>1>:]> # Options> options>=> 'hmo:'> # Long options> long_options>=> [>'Help'>,>'My_file'>,>'Output='>]> try>:> ># Parsing argument> >arguments, values>=> getopt.getopt(argumentList, options, long_options)> > ># checking each argument> >for> currentArgument, currentValue>in> arguments:> >if> currentArgument>in> (>'-h'>,>'--Help'>):> >print> (>'Displaying Help'>)> > >elif> currentArgument>in> (>'-m'>,>'--My_file'>):> >print> (>'Displaying file_name:'>, sys.argv[>0>])> > >elif> currentArgument>in> (>'-o'>,>'--Output'>):> >print> ((>'Enabling special output mode (% s)'>)>%> (currentValue))> > except> getopt.error as err:> ># output error, and return with an error code> >print> (>str>(err))> |
>
>
Producción:

Usando el módulo argparse
Usar el módulo argparse es una mejor opción que las dos opciones anteriores, ya que proporciona muchas opciones, como argumentos posicionales, valor predeterminado para los argumentos, mensaje de ayuda, especificación del tipo de datos del argumento, etc.
Nota: Como argumento opcional predeterminado, incluye -h, junto con su versión larga –help.
Ejemplo 1: Uso básico del módulo argparse.
Python3
métodos matemáticos en java
# Python program to demonstrate> # command line arguments> import> argparse> # Initialize parser> parser>=> argparse.ArgumentParser()> parser.parse_args()> |
>
>
Producción:

Ejemplo 2: Agregar descripción al mensaje de ayuda.
Python3
# Python program to demonstrate> # command line arguments> import> argparse> msg>=> 'Adding description'> # Initialize parser> parser>=> argparse.ArgumentParser(description>=> msg)> parser.parse_args()> |
>
>
Producción:

Ejemplo 3: Definición de valor opcional
Python3
# Python program to demonstrate> # command line arguments> import> argparse> # Initialize parser> parser>=> argparse.ArgumentParser()> # Adding optional argument> parser.add_argument(>'-o'>,>'--Output'>,>help> => 'Show Output'>)> # Read arguments from command line> args>=> parser.parse_args()> if> args.Output:> >print>(>'Displaying Output as: % s'> %> args.Output)> |
regexp_like en mysql
>
>
Producción:
