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:

Donnerstag 24. Juli 2008, 10:20

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:

Donnerstag 24. Juli 2008, 10:29

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: 4871
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Donnerstag 24. Juli 2008, 10:31

Code: Alles auswählen

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

Donnerstag 24. Juli 2008, 10:52

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:

Donnerstag 24. Juli 2008, 11:24

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