Leerer Übergabeparameter abfangen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
madthomas
User
Beiträge: 35
Registriert: Dienstag 7. August 2007, 10:32
Wohnort: WND
Kontaktdaten:

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
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

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
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Code: Alles auswählen

try:
    argument2 = sys.argv[2]
except IndexError:
    argument2 = "default value"
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

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 ;)
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

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.
Antworten