[Python-Dev] Bytes path support
Stephen J. Turnbull
stephen at xemacs.org
Tue Aug 19 20:44:14 CEST 2014
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.
More information about the Python-Dev