Seite 1 von 1

"Specify file encoding"

Verfasst: Dienstag 28. September 2010, 16:46
von Sans
Hi,

hab auf nem anderen PC codes vorbereitet und wollte die jetzt zu Hause bearbeiten. Doch da machte mir folgende Meldung einen Strich durch die Rechnung:

Specifiy file encoding

The file's encoding is invalid for Python 3.x.
IDLE will convert it to UTF-8.
What is the current encoding of the fiile?
cp1252
Wenn ch das cp1252 in der Zeile lasse und bestätige kommt:
Decoding Error
*Pfad*
Failed to Decode
Was muss ich in die Zeile schreiben, damits funktioniert, oder, wenns nicht geht, was ab sofort anders machen damits auf anhib funktioniert?

(arbeite mit Python 3.2 und habs auch mit 3.1 probiert. Erstellt wurden die Dateien auf 3.1)


sans

Re: "Specify file encoding"

Verfasst: Dienstag 28. September 2010, 16:51
von cofi
Die Kodierung, die die Datei auch hat.
Wenn man es mit CP-1252 nicht dekodieren kann, hat es auch kein CP-1252.

Wenn ich raten muesste: utf8 oder utf16.

Wenn du die Kodierung nicht weisst, waere es hilfreich wenn du uns erzaehlst, unter welchem Betriebssystem du die Datei erstellt hast.

Re: "Specify file encoding"

Verfasst: Dienstag 28. September 2010, 16:53
von Sans
unter xp und bin jetzt auch an nem xp-rechner

(EDIT: utf8 und utf16 funktionieren nicht)

Re: "Specify file encoding"

Verfasst: Dienstag 28. September 2010, 16:57
von ws
Python möchte gerne explizit das file encoding angegeben bekommen. Am besten schreibst Du das Encoding direkt in die Datei in den Header wie in http://www.python.org/dev/peps/pep-0263/ beschrieben:

Code: Alles auswählen

#!/usr/local/bin/python
# coding: utf-8
Dann solltest Du Deinen Editor auch auf dieses Encoding umstellen.

Um zu wissen, wie Du das wieder dekodieren kannst, musst Du das Encoding kennen, mit dem Deine Dateien erstellt wurden.

Gruss

Wolfgang

Re: "Specify file encoding"

Verfasst: Dienstag 28. September 2010, 17:18
von cofi
@ws: Fuer Python 3 sollte man `utf8` als Encoding nicht mehr angeben, weil das der Standard ist.

@OP: Nun wenn das alles nicht klappt, hast du zwei Moeglichkeiten: 1. Du versuchst es mit einem Editor (oder sonstigem Tool), der das Encoding erraet.
2. Du schaust dir die Hexdarstellung an und vergleichst das mit den entsprechenden Mustern, das von Codecs erzeugt wird.

Was fuer eine Meldung ist das eigtl? Kommt die von IDLE? Einem sonstigen Editor? Oder auch auf der Kommandozeile?

Re: "Specify file encoding"

Verfasst: Mittwoch 29. September 2010, 07:53
von jens