Why exception from os.path.exists()?

Bev in TX countryone77 at gmail.com
Sun Jun 10 20:22:00 EDT 2018


I accidentally did not send this to the list...

> On Jun 10, 2018, at 7:10 PM, Bev in TX <countryone77 at gmail.com> wrote:
> 
> 
>> On Jun 10, 2018, at 3:10 PM, Chris Angelico <rosuav at gmail.com <mailto:rosuav at gmail.com>> wrote:
>>> ...
>> 
>> Can you try creating "spam:ham" and "spam/ham"? If they're both legal,
>> I'd like to see what their file names are represented as.
>> 
> I dug around and found this very old article, in which it says:
> 
> "Another obvious problem is the different path separators between HFS+ (colon, ':') and UFS (slash, '/'). This also means that HFS+ file names may contain the slash character and not colons, while the opposite is true for UFS file names. This was easy to address, though it involves transforming strings back and forth. The HFS+ implementation in the kernel's VFS layer converts colon to slash and vice versa when reading from and writing to the on-disk format. So on disk the separator is a colon, but at the VFS layer (and therefore anything above it and the kernel, such as libc) it's a slash. However, the traditional Mac OS toolkits expect colons, so above the BSD layer, the core Carbon toolkit does yet another translation. The result is that Carbon applications see colons, and everyone else sees slashes. This can create a user-visible schizophrenia in the rare cases of file names containing colon characters, which appear to Carbon applications as slash characters, but to BSD programs and Cocoa applications as colons.”
> 
> That was from, "USENIX 2000 Invited Talks Presentation” at:
> http://www.wsanchez.net/papers/USENIX_2000/ <http://www.wsanchez.net/papers/USENIX_2000/>
> 
> 

Bev in TX







More information about the Python-list mailing list