Portable filename comparison

Ken Dyck kjdyck at hotmail.com
Thu Jan 15 08:35:44 EST 2004


Is there a way with Python 2.2 to portably test the equivalence of two
filenames?

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"))
'c:\\program files'
>>> os.path.normcase(os.path.normpath("C:\PROGRA~1"))
'c:\\progra~1'

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.

Any suggestions?

Ken





More information about the Python-list mailing list