Módulo optparse en Python

El módulo Optparse facilita la escritura de herramientas de línea de comandos. Permite el análisis de argumentos en el programa python.

  • optparse facilita el manejo del argumento de la línea de comandos.
  • Viene por defecto con python.
  • Permite la entrada de datos dinámicos para cambiar la salida.
     

Código: Creación de un objeto OptionParser.

Python3

import optparse
parser = optparse.OptionParser()

Definición de opciones:

Debe agregarse uno a la vez usando add_option() . Cada instancia de Option representa un conjunto de strings de opciones de línea de comandos sinónimas.

Las formas de crear una instancia de opción son:

       OptionParser. add_option ( opción )

       OptionParser. add_option ( *opt_str, attr=valor, .. .)

 Para definir una opción con solo una string de opción corta:

 parser.add_option("-f", attr=value, ....)

Y para definir una opción con solo una string de opción larga:

parser.add_option("--foo", attr=value, ....)

Acciones de opciones estándar: 

  • “store”: almacena el argumento de esta opción (predeterminado).
  • “store_const”: almacena un valor constante.
  • “store_true”: almacenar True.
  • “store_false”: almacenar Falso.
  • “agregar”: agrega el argumento de esta opción a una lista.
  • “append_const”: agrega un valor constante a una lista.

Atributos de opción estándar:

  • Opción.acción: (predeterminado: «almacenar»)
  • Opción.tipo: (predeterminado: «string»)
  • Option.dest: (predeterminado: derivado de strings de opciones)
  • Option.default: El valor a usar para el destino de esta opción si la opción no se ve en la línea de comando.

 

Aquí hay un ejemplo del uso del módulo optparse en un script simple:

Python3

# import OptionParser class
# from optparse module.
from optparse import OptionParser
 
# create a OptionParser
# class object
parser = OptionParser()
 
# ass options
parser.add_option("-f", "--file",
                  dest = "filename",
                  help = "write report to FILE",
                  metavar = "FILE")
parser.add_option("-q", "--quiet",
                  action = "store_false",
                  dest = "verbose", default = True,
                  help = "don't print status messages to stdout")
 
(options, args) = parser.parse_args()

Con estas pocas líneas de código, los usuarios de su secuencia de comandos ahora pueden hacer lo «normal» en la línea de comandos, por ejemplo:

<yourscript> --file=outfile -q

Entendamos con un ejemplo:

Código: Escritura de secuencias de comandos de python para la tabla de impresión de n.

Python3

# import optparse module
import optparse
 
# define a function for
# table of n
def table(n, dest_cheak):
    for i in range(1,11):
        tab = i*n
         
        if dest_cheak:
            print(tab)
             
    return tab
 
# define a function for
# adding options
def Main():
    # create OptionParser object
    parser = optparse.OptionParser()
     
    # add options
    parser.add_option('-n', dest = 'num',
                      type = 'int',
                      help = 'specify the n''th table number to output')
    parser.add_option('-o', dest = 'out',
                      type = 'string',
                      help = 'specify an output file (Optional)')
    parser.add_option("-a", "--all",
                      action = "store_true",
                      dest = "print",
                      default = False,
                      help = "print all numbers up to N")
     
    (options, args) = parser.parse_args()
    if (options.num == None):
            print (parser.usage)
            exit(0)
    else:
            number = options.num
         
    # function calling
    result = table(number, options.print)
     
    print ("The " + str(number)+ "th table is " + str(result))
 
    if (options.out != None):
        # open a file in append mode
        f = open(options.out,"a")
         
        # write in the file
        f.write(str(result) + '\n')
 
# Driver code
if __name__ == '__main__':
     
    # function calling
    Main()

 Producción:

python file_name.py -n 4

python file_name.py -n 4 -o

archivo.txt creado

python file_name.py -n 4 -a

Para saber más sobre este módulo haz clic aquí.

Publicación traducida automáticamente

Artículo escrito por kumar_satyam 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 *