Seite 1 von 1

Fehler bei Variablendeklaration?

Verfasst: Mittwoch 28. Dezember 2005, 14:41
von Mitsch
Hallo,
ich komm einfach nicht drauf wo der Fehler liegt. Ersteinmal der Code:

http://paste.ubuntuusers.de/1129

Wenn ich die Zeile "addFileto = "C:\Programme\xampp\htdocs\xampp\\"" in Line 99 auskommentiere funktioniert das ganze.

Wenn ich jedoch die zeile nicht kommentiere dann erhalte ich folgenden Fehler?
>>> Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Python24\lib\lib-tk\Tkinter.py", line 1345, in __call__
return self.func(*args)
File "C:\Python24\lib\idlelib\ScriptBinding.py", line 142, in run_module_event
code = self.checksyntax(filename)
File "C:\Python24\lib\idlelib\ScriptBinding.py", line 101, in checksyntax
return compile(source, filename, "exec")
ValueError: invalid \x escape
kann mir jemand sagen wo das Problem liegt?

Re: Fehler bei Variablendeklaration?

Verfasst: Mittwoch 28. Dezember 2005, 14:46
von gerold
Mitsch hat geschrieben:Wenn ich die Zeile "addFileto = "C:\Programme\xampp\htdocs\xampp"" in Line 99 auskommentiere funktioniert das ganze.
Hi Mitsch!

Du musst die Backslashes escapen:

Code: Alles auswählen

"C:\\Programme\\xampp\\htdocs\\xampp"
oder mit einen Raw-String daraus machen.

mfg
Gerold
:-)

Re: Fehler bei Variablendeklaration?

Verfasst: Mittwoch 28. Dezember 2005, 14:52
von Gast
gerold hat geschrieben:
Mitsch hat geschrieben:Wenn ich die Zeile "addFileto = "C:\Programme\xampp\htdocs\xampp"" in Line 99 auskommentiere funktioniert das ganze.
Hi Mitsch!

Du musst die Backslashes escapen:

Code: Alles auswählen

"C:\\Programme\\xampp\\htdocs\xampp"
oder mit einen Raw-String daraus machen.

mfg
Gerold
:-)
Jetzt tuts mit \\.
Ein paar Zeilen drüber habe ich aber nochmals so einen String. Warum braucht man da die // nicht?

Verfasst: Mittwoch 28. Dezember 2005, 20:06
von Rockstar
Weil \ vor spezielle Sonerzeichen gesetzt wird damit sie auch als diese erkannt werden.
Angenommen du willst ein " in einen String schreiben.

Code: Alles auswählen

string = "Dies ist ein spezieller String"
mit ":

Code: Alles auswählen

string = "Dies ist ein "spezieller" String"
würde nicht funktionieren.
Also wird mit \ dem Interpreter gesagt das ein Sonderzeichen folgt

Code: Alles auswählen

string = "Dies ist ein \"spezieller\" String"
und da der \ an sich auch ein sonderzeichen ist muss dieser auch escaped werden.

Code: Alles auswählen

datei = "C:\\test.gif"
Und / ist einfach kein Sonderzeichen das in Strings escaped werden muss.

Ich hoffe das war so ungefähr richtig. :)