gabor schrieb: > depends on the application. in the one where it happened i would just > display an error message, and tell the admins to check the > filesystem-encoding. > > (in other ones, where it's not critical to get the correct name, i would > probably just convert the text to unicode using the "replace" behavior) > > what about using flags similar to how unicode() works? strict, ignore, > replace and maybe keep-as-bytestring. > > like: > os.listdir(dirname,'strict') > > i know it's not the most elegant, but it would solve most of the > use-cases imho (at least my use-cases).
Of course, it's possible to implement this on top of the existing listdir operation. def failing_listdir(dirname, mode): result = os.listdir(dirname) if mode != 'strict': return result for r in result: if isinstance(r, str): raise UnicodeDecodeError return result Regards, Martin -- http://mail.python.org/mailman/listinfo/python-list