Estoy intentando crear un analizador de argumentos de línea de comandos para mi programa utilizando el módulo Python integrado argparse
. Quiero que el usuario pueda ejecutar miprograma normalmente, o para ejecutar una demo. Para ejecutar una demostración se requiere un número de demostración, que sería un argumento de línea de comando. Entonces, básicamente, los argumentos de la línea de comandos pueden estar en uno de estos formatos.
python3 blah.py normal
python3 blah.py demo <demo#>
¿Cómo le permito al usuario usar cualquiera de las opciones, pero no ambas al mismo tiempo? Además, ¿cómo hago el número de demostración requerido cuando uso la opción de demostración pero no cuando uso la opción normal?
Gracias por adelantado.
Respuestas
1 para la respuesta № 1puede usar el grupo mutuamente exclusivo (he cambiado los argumentos a número de demo y -normal):
import argparse
parser = argparse.ArgumentParser()
group = parser.add_mutually_exclusive_group()
group.add_argument("-demo", action="store",
dest="demonum",
help="demo execution")
group.add_argument("-normal", action="store_true",
help="normal execution")
parsed = parser.parse_args()
print(parsed.demonum)
print(parsed.normal)