Syntax Fehler in for-Schleife

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
rainerg
User
Beiträge: 2
Registriert: Montag 13. Februar 2012, 10:59

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

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
Das Leben ist wie ein Tennisball.
rainerg
User
Beiträge: 2
Registriert: Montag 13. Februar 2012, 10:59

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

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