Gerson Kurz wrote:
Willst Du das wirklich? Aus dieser Warnung wird irgendwann mal ein Syntaxfehler. Dann werden sich die Leute beschweren, nicht gewarnt worden zu sein.
Bitte bitte sag daß das nicht wahr ist. Zeit für einen fork oder was?
Es ist wahr. Vielleicht passiert es erst 2012.
Das ist die falsche Frage. Meine Gegenfrage lautet:
Warum muß ein Encodingproblem ein Programm hart beenden?
Das ist eine andere Frage, und Dein Vorschlag ist keine Antwort darauf. Auch wenn Latin-1 das default encoding ist, werden Programmer *immer noch* hart beendet, wenn ein Encodingproblem auftaucht (beispielsweise, wenn irgendwo das Euro-Zeichen vorkommt - was sogar in Europa vorkommen soll)
Du willst ein Beispiel aus der Praxis?
Nein danke, ich kenne die Probleme aus der Praxis. Glaub mir: Ich habe Deinen Wunsch verstanden. Nur kann ich Deinen Lösungsvorschlag nicht akzeptieren.
Also, habe ich einen String x mit einem Sonderzeichen, sagen wir das beliebte ü drin. Das ist NICHT "das ü der Deutschen", sondern ein Zeichen, welches z.B. bedeutet "Sensor x ist aktiv", klar?
Also Bytes - *keine* Zeichen (auch keine Sonderzeichen). Stino Bytes.
Jetzt will ich das ausgeben, z.B. so print "INPUT %s" % string_from_serial_port. Da gab es (dann wohl <2.3 habe ich aber nicht überprüft) exceptions.
Das glaube ich nicht. Wenn Du einen Byte-String hast, hat diese print-Anweisung in keiner Python-Version je ein Problem verursacht (höchstens vielleicht in IDLE - aber Du verwendest wohl nicht IDLE im Wirkbetrieb teurer Geräte, oder?) Allerdings würde ich Bytes immer mit print "INPUT %s" % repr(string_from_serial_port) ausgeben - es könnte ja auch sein, dass da Steuerzeichen drin vorkommen, wenn man die Bytes als Zeichen interpretierte. Ciao, Martin _______________________________________________ Python-de maillist - Python-de@python.net http://python.net/mailman/listinfo/python-de