Seite 1 von 1

Invalid Syntax bei einfacher if Abfrage

Verfasst: Freitag 1. März 2013, 20:48
von paebster
Guten Abend! :)

Gleich mal zu Anfang: Ich bin relativ neu in der Python Programmierung aber bisher konnte ich mir alles ganz gut alleine erarbeiten.

Nun bin ich jedoch auf ein seltsames Problem gestoßen, welches ich mir bei bestem Willen nicht erklären kann. Ich hab folgenden Code:

Code: Alles auswählen

if start == "3":
    sre = (input ("Wollen Sie die Datenbank wirklich zurücksetzen?[J/N]: "))
    print ("Die Datenbank ist momentan: ", os.path.getsize(tempdir,"log_data.db"
    if sre == "J" or sre == "j":


Beim ausführen gibt mir Python nun die Meldung "invalid Syntax" wieder und markiert dabei den Doppelpunkt der zweiten if Abfrage rot.

Warum? :K

Steh ich gerade nur auf dem Schlauch und hab irgendwas übersehen?

Danke schonmal für eure Hilfe! :)

Mit freundlichen Grüßen

Re: Invalid Syntax bei einfacher if Abfrage

Verfasst: Freitag 1. März 2013, 20:55
von nomnom
Der Fehler ist, dass du die Klammer, die du nach "print" öffnest, und auch die nach os.path.getsize, nicht wieder schließt. Auf sowas solltest du bei "invalid syntax"-Fehlern immer schauen. Die Leerzeichen nach "input" und "print" solltest du noch wegmachen, da es normale Funktionen sind, und man kein Leerzeichen zwischen Name und Klammern macht.

Re: Invalid Syntax bei einfacher if Abfrage

Verfasst: Freitag 1. März 2013, 20:56
von cofi
Willkommen zu Python und im Forum!

Du hast in der Zeile davor Klammern weggelassen. Bei Syntax Fehlermeldungen stimmt die angezeigte Stelle oft nicht mit dem Fehler ueberein, weil es die Stelle ist, an der der Parser aussteigt. In dem Fall ist eine if-Anweisung nicht mit einem erwarteten Ausdruck vereinbar und das wird erst durch den Doppelpunkt erkennbar, sonst koennte es der ternaere Operator sein.

Re: Invalid Syntax bei einfacher if Abfrage

Verfasst: Freitag 1. März 2013, 21:05
von paebster
Danke für die Hilfe und den netten Willkommensgruß! :)

Ohja, so ein blöder Fehler aber auch.
Ich hatte mich so auf den Doppelpunkt konzentriert, das mir die fehlenden Klammern gar nicht aufgefallen sind.

Aber nach der Erklärung von cofi durchaus sinnig. In Zukunft werde ich mehr darauf achten! ;)

Danke nochmals für die schnelle Hilfe! :)