Come utilizzare argparse per gli argomenti della riga di comando afferrare in Python?

StackOverflow https://stackoverflow.com/questions/6309552

  •  26-10-2019
  •  | 
  •  

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.

È stato utile?

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
scroll top