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