The os.path.samefile function seems to do what I want, but it is only
available on Unix and Mac. I need something that works on Windows.
The os.path.normcase and os.path.normpath functions are available on all
platforms, but don't quite get me there. For example, on Windows
>>> os.path.normcase(os.path.normpath("C:\Program Files"))
I suppose I could find a way to call into the Win32 API directly, but I'd
prefer to use a portable solution if I can find one.
I believe you need to make your own, since the whole concept of thus
mungled long names on Windows is definitely not portable.
Here's a snippet that might make this seem much easier:
>>> def expand(shortname):
... from win32api import GetLongPathName
... return GetLongPathName(shortname)