Python-argparse Beispiel?

Ich versuche zu lernen argparse, um es zu benutzen in meinem Programm, die syntax sollte wie folgt sein:

-a --aLong <String> <String>
-b --bLong <String> <String> <Integer>
-c --cLong <String>
-h --help

Habe ich diesen code:

#!/usr/bin/env python
#coding: utf-8

import argparse

if __name__ == '__main__':
    parser = argparse.ArgumentParser(description='Lorem Ipsum')
    parser.add_argument('-a','--aLong', help='Lorem Ipsum', required=False)
    parser.add_argument('-b','--bLong', help='Lorem Ipsum', required=False)
    parser.add_argument('-c','--cLong', help='Lorem Ipsum', required=False)
    parser.add_argument('-h','--help', help='Lorem Ipsum', required=False)
    parser.parse_args()

Die Frage ist, lese ich in der offiziellen doc, sahen YouTube-videos, etc, aber ich konnte nicht verstehen, wie kann ich bestimmen, die Anzahl der "sub-Argumente" von der "main-argument"?

Beispiel: myApp.py -b Foobar 9000, wie kann ich einstellen, dass -b müssen zwei "sub-Argumente", und wie bekomme ich die Werte, die Foobar und 9000?

Und anderen Zweifel, ich weiß, ich kann ein argument zu sein required oder nicht, aber ich wollte mein Programm nur ausgeführt wird, wenn mindestens eine argument übergeben wird, wird jede der vier genannten.

Vielleicht ist es eine blöde Frage, aber sorry, ich kann es nicht verstehen, und hoffentlich gibt es hier jemanden mit "Lehrer-Kräfte" zu erklären.

Sie sollten in der Lage sein zu erreichen, was Sie erwähnt haben, mit Argument-Gruppen - docs.python.org/dev/library/argparse.html#argument-groups.
argument-groups nicht helfen. Sie beeinflussen die help anzeigen, aber nicht beeinflussen analysieren. Prüfung nach dem Parsen als FMc macht, ist die Art und Weise, um sicherzustellen, eines der 3 Argumente. Gegenseitig ausschließlich Gruppen können verwendet werden, um zu verhindern, dass mehr als 1 in der Gruppe verwendet wird, aber der OP will 'mindestens ein'.

InformationsquelleAutor JChris | 2014-01-04

Schreibe einen Kommentar