Seite 1 von 1

Fehler, der nur beim Start über cmd auftaucht

Verfasst: Dienstag 25. Mai 2010, 13:11
von user47alpha
Hi,

ich programmiere (Python 2.6) mit Eclipse und habe folgendes Problem:

Wenn ich das Script über Eclipse starte, funktioniert es einwandfrei. Wenn ich es aber in der Eingabeaufforderung starte (sprich in den "SRC"-Folder navigiere und dort mittels "caller.py" zu starten versuche) erhalte ich folgende Fehlermeldung:

Code: Alles auswählen

>caller.py
Traceback (most recent call last):
  File "C:\Users\Ludger\Documents\Studium\studentische Hilfskraft\worcspace\elmar2gr\src\caller.py", line 12, in <module>
    shop.convert("input/test_shopinfo.xml")
  File "C:\Users\Ludger\Documents\Studium\studentische Hilfskraft\worcspace\elmar2gr\src\elmar2gr.py", line 106, in convert
    self.writeProdCSV()
  File "C:\Users\Ludger\Documents\Studium\studentische Hilfskraft\worcspace\elmar2gr\src\elmar2gr.py", line 663, in writeProdCSV
    fobj.write("""          <rdfs:comment xml:lang=\""""+self.language+"""\">"""
+compcomment+"""</rdfs:comment>\n""")
UnicodeDecodeError: 'ascii' codec can't decode byte 0xfc in position 87: ordinal not in range(128)
Bekäme ich einen ähnlichen Fehler auch unter Eclipse, würde ich den Fehler bei den Variablen suchen, so muss ich wahrscheinlich nur den richtigen Parameter an > caller.py anhängen... hoffe ich.

Wer kann mir helfen?
Danke!

Re: Fehler, der nur beim Start über cmd auftaucht

Verfasst: Dienstag 25. Mai 2010, 14:30
von BlackJack
@user47alpha: Du vermischt dort anscheinend `unicode`- und `str`-Objekte. Wenn man zum Beispiel zwei solcher Exemplare per ``+`` verbindet, dann wird das `str`-Objekt implizit in Unicode umgewandelt -- mit ASCII als Kodierung. Wenn der `str` zum Beispiel Werte ausserhalb von ASCII enthält, dann kommt diese Ausnahme.

XML würde ich übrigens mit einer entsprechenden Bibliothek zusammenbauen und nicht als Zeichenketten. Dann braucht man sich zum Beispiel keine Gedanken machen, was `compcomment` enthält.

Re: Fehler, der nur beim Start über cmd auftaucht

Verfasst: Dienstag 25. Mai 2010, 20:24
von user47alpha
Ja, ich sollte vielleicht eine XML-Lib dafür verwenden.

Aber trotzdem, wie kommt es, dass Eclipse durchaus damit zurecht kommt, die Konsole aber nicht?

Re: Fehler, der nur beim Start über cmd auftaucht

Verfasst: Dienstag 25. Mai 2010, 20:43
von ms4py
user47alpha hat geschrieben:Aber trotzdem, wie kommt es, dass Eclipse durchaus damit zurecht kommt, die Konsole aber nicht?
Die Eclipse-Konsole hat einen größeren Zeichensatz wie die Standard-Shell. (Unter Windows auf jeden Fall)