Wie kann ich ArgParse verwenden, um die Argumente für die Befehlszeilen in Python zu greifen?

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

  •  26-10-2019
  •  | 
  •  

Frage

Ich möchte in der Lage sein, Ganzzahlwerte zu speichern, nachdem eine Option durch die Befehlszeile weitergegeben wurde. Idealerweise wäre es:

python thing.py -s 1 -p 0 1 2 3 -r/-w/-c
  • -s - Lagern Sie die folgende Ganzzahl

  • -p - Lagern Sie die folgenden Ganzzahlen

Der letzte Teil kann nur eine der drei Optionen sein (-r, -W, oder -c), je nachdem, was ich tun muss.

Ich habe versucht, Tutorials zu lesen, aber sie alle verwenden dieselben zwei Beispiele, die nicht erklären, wie sie Ganzzahlen nach a speichern können -option.

War es hilfreich?

Lösung

>>> 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)
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top