Invalid Syntax bei einfacher if Abfrage

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
paebster
User
Beiträge: 2
Registriert: Freitag 1. März 2013, 20:39

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
nomnom
User
Beiträge: 487
Registriert: Mittwoch 19. Mai 2010, 16:25

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.
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

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.
paebster
User
Beiträge: 2
Registriert: Freitag 1. März 2013, 20:39

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! :)
Antworten