os.lisdir, gets unicode, returns unicode... USUALLY?!?!?
Marc 'BlackJack' Rintsch
bj_666 at gmx.net
Fri Nov 17 04:08:27 EST 2006
In <mailman.294.1163721712.32031.python-list at python.org>, Jean-Paul
Calderone wrote:
>>How would you propose listdir should behave?
>
> Umm, just a wild guess, but how about raising an exception which includes
> the name of the file which could not be decoded?
Suppose you have a directory with just some files having a name that can't
be decoded with the file system encoding. So `listdir()` fails at this
point and raises an exception. How would you get the names then? Even the
ones that *can* be decoded? This doesn't look very nice:
path = u'some path'
try:
files = os.listdir(path)
except UnicodeError, e:
files = os.listdir(path.encode(sys.getfilesystemencoding()))
# Decode and filter the list "manually" here.
Ciao,
Marc 'BlackJack' Rintsch
More information about the Python-list
mailing list