>> Comparing file system paths as strings is very brittle. > > Why do you say that? Are you thinking of something like this? > > /home//user/somedirectory/../file > /home/user/file
Or even ~/file > How complicated do you want to get? If you are thinking about aliases, > hard links, shortcuts, SMB shares and other complications, I'd be > surprised if there is a simple way. > > But for the simple case above: > >>>> import os >>>> path = '/home//user/somedirectory/../file' >>>> os.path.normpath(path) > '/home/user/file' I'd suggest os.path.samefile which should handle case-sensitive (non-win32) vs case-insensitive (win32) filenames, soft-links, and hard-links. Not sure it's prescient enough to know if you have two remote shares, it will unwind them to their full server-path name. Works here on my various boxes (Linux, MacOS-X and OpenBSD) here. I'd assume it's the same functionality on Win32. -tkc -- http://mail.python.org/mailman/listinfo/python-list