On Sun, 19 Oct 2008 14:35:01 +0200, Stef Mientki wrote: > hello, > > I (again) wonder what's the perfect way to store, OS-independent, > filepaths ?
"Perfect"? I can't imagine any scheme which will work on every imaginable OS, past present and future. However, in practice I think there are two common forms still in use: Posix paths, and Windows paths. I believe that OS/2 can deal with Windows pathnames, and Mac OS X uses Posix paths (I think...). If you have to support Classic Mac OS or other non-Posix systems, then your life will become interesting and complicated. And let's not even consider Unicode issues... You might find this page useful: http://en.wikipedia.org/wiki/Path_(computing) Note that raw strings are for regular expressions, not Windows paths. Raw strings can't end in a backslash, so you can't do this: r'C:\My Documents\' Instead, you can avoid having to escape backslashes by taking advantage of the fact that Windows will accept forward slashes as well as backslashes as path separators, and write 'C:/My Documents/' instead. I assume you're familiar with the path-manipulation utilities in os.path? >>> import os >>> os.path.splitdrive('C://My Documents/My File.txt') ('C:\\\\', 'My Documents\\My File.txt') I had to fake the above output because I'm not running Windows, so excuse me if I got it wrong. But honestly, I think your biggest problem isn't finding a platform- independent way of storing paths, but simply translating between each OS's conventions on where files should be stored. In Linux, config files should go into: ~/.<appname>/ or /etc/<appname>/ In Windows (which versions?) then should go into the Documents And Settings folder, where ever that is. There's no single string which can represent both of these conventions! -- Steven -- http://mail.python.org/mailman/listinfo/python-list