Seite 1 von 1

Leerer Übergabeparameter abfangen

Verfasst: Donnerstag 24. Juli 2008, 10:20
von madthomas
Hallo,

ich hab ein Problem ich hab einen XML-Parsergeschrieben. Jetzt will ich das mit Hilfer der Übergabeparameter beim Aufruf die entsprechenden Zeilen raus geschrieben werden

Code: Alles auswählen

argument1 = sys.argv[1]
argument2 = sys.argv[2]
Wenn ich aber den Aufruf mit nur einem Parameter mache dann Schreibt er immer das argument2 nicht vorhanden ist

habs auch mal mit ner if abfrage versucht

Code: Alles auswählen

if not sys.argv[2]:
    print "2. Parameter nicht vorhanden"
Wie kann ich das überprüfen bzw abfangen

Verfasst: Donnerstag 24. Juli 2008, 10:29
von CM
Hoi,

aber Du kennst doch die Länge von sys.argv:

Code: Alles auswählen

len(sys.argv)
Damit kannst Du doch arbeiten oder habe ich Dein Problem falsch verstanden?

Im Übrigen: Du kennst [mod]optparse[/mod]?

HTH
Christian

Verfasst: Donnerstag 24. Juli 2008, 10:31
von EyDu

Code: Alles auswählen

try:
    argument2 = sys.argv[2]
except IndexError:
    argument2 = "default value"

Verfasst: Donnerstag 24. Juli 2008, 10:52
von cofi
CM hat geschrieben:aber Du kennst doch die Länge von sys.argv:

Code: Alles auswählen

len(sys.argv)
Damit kannst Du doch arbeiten oder habe ich Dein Problem falsch verstanden?
Na wenn er die Anzahl der Parameter benötigt sollte er lieber

Code: Alles auswählen

len(sys.argv[1:])
benutzen ;)

Verfasst: Donnerstag 24. Juli 2008, 11:24
von CM
cofi hat geschrieben:

Code: Alles auswählen

len(sys.argv[1:])
An welcher Stelle im Code das Berücksichtigung findet ist Geschmackssache, oder? edit: und Situationsabhängig.