[Python-de] filesystemencoding

"Martin v. Löwis" martin at v.loewis.de
Die Apr 4 20:59:33 CEST 2006


jens wrote:
> Eigentlich sollte os.unlink(u"path") alle Verz. Einträge als unicode 
> zurück liefern.

Du meinst wohl os.listdir. os.unlink liefert nichts zurück :-)

> Das tut es allerdings nicht wirklich. Unter Windows 
> geht's unter Linux gibt's Probleme, da Einträge mit Sonderzeichen bei 
> mir kein Unicode sind :(

Damit das funktioniert, musst Du Deine locale richtig einstellen.
Leider gibt es unter Linux kein anderes Verfahren, um das Encoding
des Dateisystems zu ermitteln, außer der locale.

Deshalb fragt Python nach dem encoding der locale. Wenn Deine Dateinamen
beispielsweise mit ISO-8859-1 kodiert sind, könnte es helfen,
LANG auf de_DE, oder vielleicht auch auf de_DE.ISO-8859-1 zu setzen.

> Doch selbst wenn man alle Verz.-Einträge als unicode hat, gibt es 
> Probleme mit einigen Python "Befehlen"... Denn nicht alle mögen 
> Unverständnisserweise unicode. z.B. os.path.*

Welche Python-Funktion hat den Probleme, und worin äußern die sich?

Ciao,
Martin