Módulo Getopt en Python

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *