Also ich hab mein Test-Skript nur unter Win gestet und das läuft wunderbar, bis auf die Dateinamen...
Komischerweise funktioniert es nicht in SciTE
Aber spuckt er mir auch ein outencoding: mbcs aus, was immer das auch sein mag... Hab noch nicht nachgesehen, ob man das irgendwie Einstellen kann...
Umlaute und die Kommandozeile
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Zu diesem Thema möchte ich noch hierhin verweisen: http://www.python-forum.de/viewtopic.php?t=5095
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
So geht es nicht überall: PythonWin (build 208, Python 2.4.3) und Eric (genaue Version ist mir im Moment nicht zugänglich, wahrscheinlich 3.8.xxx oder so) brechen bei der Definition von OUTCODING mit einem AttributeError ab. Also wohl besser, wenn auch umständlicher:gerold hat geschrieben: Das Coding der Konsole bekommst du mit "sys.stdout.encoding" raus.
Unabhängig vom Coding der Konsole gibt es noch das Coding, in dem die Dateinamen gespeichert werden. Dieses Coding bekommst du mit "sys.getfilesystemencoding()" heraus.
Da man in manchen IDEs, beim Ausführen nicht auf "sys.stdout.encoding" zugreifen kann oder einfach nur nichts dabei raus kommt, nehme ich als Alternative noch "sys.getfilesystemencoding()" mit rein. Das klappt bei mir recht gut.
OUTCODING = sys.stdout.encoding or sys.getfilesystemencoding()
FSE = sys.getfilesystemencoding()
Code: Alles auswählen
try:
OUTCODING = sys.stdout.encoding
except AttributeError:
OUTCODING = sys.getfilesystemencoding()