Come utilizzare argparse per gli argomenti della riga di comando afferrare in Python?
Domanda
Voglio essere in grado di salvare interi valori dopo l'opzione viene fatto passare attraverso la linea di comando. L'ideale sarebbe:
python thing.py -s 1 -p 0 1 2 3 -r/-w/-c
-
-s
- memorizzare i seguenti intero -
-p
- memorizzare i seguenti numeri interi
La parte finale non può che essere una delle tre opzioni ( -r , -w o -c ), a seconda di ciò è ho bisogno di fare.
Ho cercato di leggere tutorial, ma tutti usano gli stessi due esempi che non spiegano come memorizzare numeri interi dopo una -option
.
Soluzione
>>> 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)
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow