Seite 1 von 1

Syntax Fehler in for-Schleife

Verfasst: Montag 13. Februar 2012, 11:30
von rainerg
Hallo,

bin neu hier im Forum und hoffe, das ihr mir weiterhelfen könnt. Bei mir taucht seit heute morgen ein Syntax-Fehler auf und ich verstehe nicht warum.

Ich importiere neben anderen Modulen ein selbstgeschriebenes Modul regression.py. Seit heute morgen taucht beim importieren jedes Mal die unten folgende Fehlermeldung auf und ich bin mir sicher, das ich in der regession.py nichts geändert habe. Wenn ich den Ausschnitt auskommentiere, dann kommt direkt die nächste Fehlermeldung für die darauf folgende Programmcodezeile. Bis gestern Abend hat die Berechnung übrigens ohne Probleme geklappt und es kam keinerlei Fehlermeldung. Interessanterweise steht in der Code-Zeile darüber auch eine for-Schleife

Code: Alles auswählen

for i in range(dsize):
        u[i,0] = ((C[i,1] * b[0,0]) + (C[i,1] * b[1,0]) + (C[i,2] * b[2,0]) 
wo keine Fehlermeldung geworfen wird.



Fehlermeldung:
Traceback (most recent call last):
File "C:\Python26\ArcGIS10.0\Lib\site-packages\pythonwin\pywin\framework\scriptutils.py", line 322, in RunScript
debugger.run(codeObject, __main__.__dict__, start_stepping=0)
File "C:\Python26\ArcGIS10.0\Lib\site-packages\pythonwin\pywin\debugger\__init__.py", line 60, in run
_GetCurrentDebugger().run(cmd, globals,locals, start_stepping)
File "C:\Python26\ArcGIS10.0\Lib\site-packages\pythonwin\pywin\debugger\debugger.py", line 655, in run
exec cmd in globals, locals
File "D:\diplom\script\neue struktur fertig\test2.py", line 17, in <module>
import regression
File "D:\diplom\script\neue struktur fertig\regression.py", line 99
for i in range(dsize):
^
SyntaxError: invalid syntax

Line 99 und 100 von regression.py :

Code: Alles auswählen

for i in range(dsize):
        r[i,0] = u[i,0] - d[i,0]
^ steht genau unter (d von range(dsize), das verschiebt sich hier irgendwie immer.

Wer kann mir weiterhelfen und hat einen Tip oder vielleicht auch eine Lösung, denn ich verstehe das Problem nicht so ganz. Kann es vielleicht mit der Kodierung der Datei zu tun haben? Da benutze ich die ANSI, und hatte da eigentlich bisher keine Probleme.

Grüße,
Rainer

Re: Syntax Fehler in for-Schleife

Verfasst: Montag 13. Februar 2012, 11:43
von EyDu
Hallo und willkommen im Forum!

Wahrscheinlich hast du nur vergessen in den Zeilen zuvor eine Klammer zu schließen. Auf Grund des knappen Codes lässt sich das aber nur vermuten.

Sebastian

Re: Syntax Fehler in for-Schleife

Verfasst: Montag 13. Februar 2012, 11:51
von rainerg
Danke, das mit der Klammer war der Tip des Tages. Und ich bin mir eigentlich sicher, das ich das mehr als zweimal geprüft hatte.
Das ist wie, wenn man den Wald vor lauter Bäumen nicht mehr sieht.

Übrigens super, das die erste Antwort so schnell kam, bin von anderen Foren auch anderes gewohnt.

Danke, Rainer

Re: Syntax Fehler in for-Schleife

Verfasst: Montag 13. Februar 2012, 11:54
von cofi
Wie EyDu schon sagte ist der Grund bei der Art von Fehlermeldung meistens in den Zeilen davor zu finden, weil der Lexer etwas anderes erwartet hat.

Zu deiner Kodierungsvermutung: ANSI ist kein Codec (meinst du windows-1252?). Wenn du etwas anderes als ASCII benutzt, dann wirst du Probleme haben, sofern du kein Coding Cookie an den Anfang der Datei setzt (siehe PEP 263). Aber die Fehlermeldung sieht anders aus (Stichwort 'ascii cannot decode char ...').