[issue3187] os.listdir can return byte strings

Guido van Rossum report at bugs.python.org
Fri Aug 22 01:59:09 CEST 2008


Guido van Rossum <guido at python.org> added the comment:

>> I do not accept an os.listdir() that raises an error because one
>> filename cannot be decoded.  It sounds like using errors='replace' is
>> also wrong -- so the only solution is for os.listdir() to skip files it
>> cannot decode.  While this doesn't help for rmtree(), it is better than
>> errors='replace' for code that descends into the tree looking for files
>> matching a pattern or other property.  So I propose this as a patch for 3.0.
>
> As much as this maybe the right idea, I don't like the idea of
> silently losing the contents of a directory. That's asking for
> difficult to discover bugs.

Well, the other approaches also cause difficult to discover bugs (the
original bug report here was an example :-).

> Could Python emit a warning in this case?

This may be the best compromise yet. It would have to use the warnings
module so that you could disable it.

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue3187>
_______________________________________


More information about the Python-bugs-list mailing list