El módulo getopt es un analizador de opciones de línea de comandos basado en la convención establecida por la getopt()
función Unix. En general, se utiliza para analizar una secuencia de argumentos como sys.argv. En otras palabras, este módulo ayuda a los scripts a analizar los argumentos de la línea de comandos en sys.argv. Funciona de manera similar a la getopt()
función C para analizar parámetros de línea de comandos.
Función getopt de Python
La primera función proporcionada por este módulo tiene el mismo nombre, es decir getopt()
. Su funcionalidad principal es analizar las opciones de la línea de comandos y la lista de parámetros. La sintaxis de la función es la siguiente:
Sintaxis: getopt.getopt(argumentos, opciones, [opciones_largas])
Parámetros:
args: Lista de argumentos a pasar.
options: String de letras de opciones que el script quiere reconocer. Las opciones que requieren un argumento deben ir seguidas de dos puntos (:).
long_options: Lista de la string con el nombre de las 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). El segundo es la lista de argumentos del programa que quedaron después de que se eliminó la lista de opciones.
Ejemplo 1:
import sys import getopt def full_name(): first_name = None last_name = None argv = sys.argv[1:] try: opts, args = getopt.getopt(argv, "f:l:") except: print("Error") for opt, arg in opts: if opt in ['-f']: first_name = arg elif opt in ['-l']: last_name = arg print( first_name +" " + last_name) full_name()
Producción:
Aquí hemos creado una función full_name()
que imprime el nombre completo después de obtener el nombre y el apellido de la línea de comandos. También hemos abreviado el nombre como ‘f’ y el apellido como ‘l’.
Ejemplo 2: ahora veamos el caso en el que, en lugar de formas cortas como ‘f’ o ‘l’, podríamos usar formas completas como ‘first_name’ y ‘last_name’. El siguiente código usa formas completas para imprimir el nombre completo;
import sys import getopt def full_name(): first_name = None last_name = None argv = sys.argv[1:] try: opts, args = getopt.getopt(argv, "f:l:", ["first_name =", "last_name ="]) except: print("Error") for opt, arg in opts: if opt in ['-f', '--first_name']: first_name = arg elif opt in ['-l', '--last_name']: last_name = arg print( first_name +" " + last_name) full_name()
Producción:
Nota: Se debe usar el guión simple (‘-‘) para formas cortas y el guión doble (‘–’) para la forma larga del argumento en el código.
Publicación traducida automáticamente
Artículo escrito por RajuKumar19 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA