¿Cómo usar Argparse para obtener argumentos de línea de comandos en Python?
Pregunta
Quiero poder guardar los valores enteros después de que se pase una opción a través de la línea de comando. Idealmente sería:
python thing.py -s 1 -p 0 1 2 3 -r/-w/-c
-s
- Almacene el siguiente entero-p
- Almacene los siguientes enteros
La parte final puede ser solo una de las tres opciones (-r, -Wel, o -C), dependiendo de lo que necesito hacer.
He estado tratando de leer tutoriales, pero todos usan los mismos dos ejemplos que no explican cómo almacenar enteros después de un -option
.
Solución
>>> import argparse
>>> parser = argparse.ArgumentParser()
>>> parser.add_argument('-s', type=int)
[...]
>>> parser.add_argument('-p', type=int, nargs='*')
[...]
>>> group = parser.add_mutually_exclusive_group(required=True)
>>> group.add_argument('-r', action='store_true')
[...]
>>> group.add_argument('-w', action='store_true')
[...]
>>> group.add_argument('-c', action='store_true')
[...]
>>> parser.parse_args("-s 1 -p 0 1 2 3 -r".split())
Namespace(c=False, p=[0, 1, 2, 3], r=True, s=1, w=False)
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow