Wie kann ich ArgParse verwenden, um die Argumente für die Befehlszeilen in Python zu greifen?
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
.
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