<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Wed, Nov 20, 2013 at 4:49 AM, Antoine Pitrou <span dir="ltr"><<a href="mailto:solipsis@pitrou.net" target="_blank">solipsis@pitrou.net</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="im">On Wed, 20 Nov 2013 12:25:20 +0000<br>
Garth Bushell <<a href="mailto:garth@garthy.com">garth@garthy.com</a>> wrote:<br>
><br>
> I'm also quite uneasy on the case insensitive comparison on Windows as the<br>
> File system NTFS is case sensitive.<br>
><br>
> """Current Windows file systems, like NTFS, are case-sensitive; that is a<br>
> readme.txt and a Readme.txt can exist in the same directory. Windows<br>
> disallows the user to create a second file differing only in case due to<br>
> compatibility issues with older software not designed for such<br>
> operation."""  (<a href="http://en.wikipedia.org/wiki/Case_sensitivity" target="_blank">http://en.wikipedia.org/wiki/Case_sensitivity</a>)<br>
<br>
</div>Well the path class is named WindowsPath, not NTFSPath. In other words,<br>
it embodies path semantics as exposed by the Windows system and API,<br>
not what NTFS is able to do. Having per-filesystem concrete path<br>
classes would quickly grow of control (do we need a separate class for<br>
FAT32 filesystems? what if Windows later switches to another<br>
filesystem?).<br>
<br>
The PEP already points to a corresponding discussion:<br>
<a href="http://www.python.org/dev/peps/pep-0428/#case-sensitivity" target="_blank">http://www.python.org/dev/peps/pep-0428/#case-sensitivity</a><br>
<div class="im"><br>
> If people create .PY files it wouldn't work on Linux so why make it work on<br>
> windows?<br>
<br>
</div>What do you mean with "work"?<br>
What I know is that if I save a something.PY file under Windows and then<br>
double-click on it in the Explorer, it will be launched with the Python<br>
interpreter.<br></blockquote></div><br clear="all">Also, let's not forget that apart from comparison (Path('a') == 
Path('A')), matching and globbing, the WindowsPath class does not 
normalize the case of pathname components (only slash vs. backslash, 
redundant [back]slashes, and redundant '.' components are handled). So 
if you are in the unusual circumstances where you have to use 
case-sensitive paths on Windows, you can still use WindowsPath.<br><br>-- <br>--Guido van Rossum (<a href="http://python.org/~guido">python.org/~guido</a>)
</div></div>