Ben Hoyt writes: > Fair enough. I don't quite understand, though -- why is the "official > policy" to kill something that's "essential" on *nix?
They're not essential on *nix. Unix paths at the OS level are "just bytes" (even on Mac, although the most common Mac filesystem does enforce UTF-8 Unicode NFD). This use case is now perfectly well served by codecs. However, there are a lot of applications that involve reading a file name from a directory, and passing it verbatim to another OS function. This case can be handled now using the surrogateescape error handler, but when these APIs were introduced we didn't even have a reliable way to roundtrip filenames because a Unix filename doesn't need to be a string of characters from *any* character set. And there's the undeniable convenience of treating file names as opaque objects in those applications. Regards, _______________________________________________ Python-Dev mailing list Python-Dev@python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com