Antwort

2
import argparse 
parser = argparse.ArgumentParser() 
parser.add_argument('--repo', nargs=2, action='append') 
parser.parse_args('--repo origin here --repo other there'.split()) 

Ergebnis:

Namespace(repo=[['origin', 'here'], ['other', 'there']]) 
1

Sie sollten Aktion verwenden append:

$ cmd --repo origin here --repo other there --repo upstream url3 

Und die analysierte Argumente sollten zum Beispiel wie folgt aus zugänglich sein.

Von argparse Dokumentation:

append - Dies speichert eine Liste und fügt jedes Argument Wert auf der Liste. Dies ist nützlich, um eine Option mehrmals angeben zu können.

Beispiel Nutzung:

>>> parser = argparse.ArgumentParser() 
>>> parser.add_argument('--foo', nargs='*', action='append') 
>>> parser.parse_args('--foo 1 2 --foo 3 4'.split()) 

Namespace(foo=[['1', '2'], ['3', '4']]) 

Quelle: https://docs.python.org/3/library/argparse.html#action

Vielleicht möchten Sie auch einen Blick auf docopt Projekt zu übernehmen, die von mir ist das beste Python Argument Parser Paket: