Antoon Pardon <antoon.par...@vub.be>: > On 08-06-18 04:19, Steven D'Aprano wrote: >> On Thu, 07 Jun 2018 17:45:06 +1000, Chris Angelico wrote: >> >>> So... an ASCIIZ string *can* contain that character, or >>> at least a representation of it. Yet it cannot contain "\0". >> [...] >> NTFS file systems use UTF-16 encoded strings. For typical mostly-ASCII >> pathnames, the bytes on disk are *full* of NUL bytes. > > This is irrelevant.
As for what is relevant for the original question is that the ValueError exception is a practical trap that I have fallen into, and, as I demonstrated yesterday, the http.server module has fallen into (through os.path.isdir()). In fact, I couldn't spot a single instance of os.path.exists() in the Python standard library that would guard against a ValueError (to be sure, in almost all of the cases you could argue it would be redundant). Whatever your philosophical tastes, this unexpected feature of os.path.exists() (& co) leads to unexpected application behavior IRL, and, in the GhostBusters sense, that is bad. Marko -- https://mail.python.org/mailman/listinfo/python-list