Benjamin Peterson <[EMAIL PROTECTED]> added the comment: On Thu, Aug 21, 2008 at 6:31 PM, Guido van Rossum <[EMAIL PROTECTED]> wrote: > > Guido van Rossum <[EMAIL PROTECTED]> added the comment: > > So shutil should be fixed to pass a bytes value to os.listdir(). But > then os.remove() should be fixed to accept bytes as well. This is the > crux I believe: on Unix at least, syscall wrappers should accept bytes > for filenames. And this would then have to be extended to things like > the functions in os.path, and we'd need bytes versions of os.sep and > os.altsep... This sounds like a good project for 3.1. > > 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. Could Python emit a warning in this case? > > The callback variant is too complex; you could write it yourself by > using os.listdir() with a bytes argument. This also applies to > proposals like passing optional encoding and errors arguments to > os.listdir(). > > _______________________________________ > Python tracker <[EMAIL PROTECTED]> > <http://bugs.python.org/issue3187> > _______________________________________ > _______________________________________ Python tracker <[EMAIL PROTECTED]> <http://bugs.python.org/issue3187> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com