python - Verschachteltes Kommandozeilen-Parsen

G

Gast123

Hallo zusammen,

ich versuche verzweifelt, verschachtelt Kommandozeilenparamenter eines python-Programms zu Parsen.
Es geht dabei um Parameter der Form
Code:
./skript.py [--foo BLA [--bar |  --baz FILE]*]*
Soll heißen: --foo BLA kann nicht bis beliebig oft vorkommen.
Nach jedem --foo BLA kann ein --bar und/oder ein --baz FILE vorkommen.
Z.B. also:
Code:
./skript.py --foo 123 --bar --foo 456 --baz /home/dinges --foo 789 --bar --baz /var/log/foobar
Ich habe versucht, die --foos mit einem OptionParser zu lesen und jedes Mal einen callback auf eine Funktion die ihrerseits --bar und --baz parst zu starten.
Das klappt insofern, als dass beim Ersten --foo die Optionen richtig eingelesen werden und die zugehörigen Prozesse gestartet werden.
Allerdings meckert der erste OptionParser nach Ende des callbacks darüber, dass er weder --bar noch --baz kennt, da die Argumente ja nicht "gelöscht" werden.

Wie kann ich also so eine Verschachtelung realisieren?

Danke Euch!

MfG

Schard
 
Zurück
Oben