[python] os.listdir
Radek Kanovsky
rk na dat.cz
Pátek Prosinec 1 11:16:18 CET 2006
On Fri, Dec 01, 2006 at 10:19:28AM +0100, Novák Jan - Topinfo s.r.o. wrote:
> Python/2.4.4 (Debian)
> >>> import os, sys
> >>> sys.getfilesystemencoding()
> 'ANSI_X3.4-1968'
> >>> os.listdir('path')
> ['aaa.txt', 'bbb.txt', '\xe8e\xb9tina.txt', 'ccc.txt']
> >>> os.listdir(u'path')
> [u'aaa.txt', u'bbb.txt', '\xe8e\xb9tina.txt', u'ccc.txt']
> >>> ...? 3. není unicode
ANSI_X3.4-1968 je myslim normalni 7bitove ASCII kodovani.
Takze prevod diakritiky zhavaruje.
Zkuste nastavit systemovou promennou LC_CTYPE na cs_CZ.UTF-8
(nebo en_US.UTF-8).
$ LC_CTYPE=cs python -c 'import sys; print sys.getfilesystemencoding()'
ANSI_X3.4-1968
$ LC_CTYPE=cs_CZ.UTF-8 python -c 'import sys; print sys.getfilesystemencoding()'
UTF-8
Pak to snad bude fungovat.
Radek Kaňovský
Další informace o konferenci Python