os.path.split: processing paths from one OS on another

Martijn Ras ras at holmes.nl
Tue Jan 27 11:29:11 EST 2004


Heya folks,

I ran into the following problem:

When i run this on Windows everything is as expected:
C:\>python
Python 2.2.3 (#42, May 30 2003, 18:12:08) [MSC 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
 >>> import os
 >>> file='/TEST/FILE.EXT'
 >>> print os.path.split(file)
('/TEST', 'FILE.EXT')
 >>> file='C:\\TEST\\FILE.EXT'
 >>> print os.path.split(file)
('C:\\TEST', 'FILE.EXT')

However, when i run this on Linux the results are unexpected:
$ python
Python 2.2.3 (#1, Nov 12 2003, 15:53:11)
[GCC 2.96 20000731 (Red Hat Linux 7.3 2.96-110)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
 >>> import os
 >>> file='/TEST/FILE.EXT'
 >>> print os.path.split(file)
('/TEST', 'FILE.EXT')
 >>> file='C:\\TEST\\FILE.EXT'
 >>> print os.path.split(file)
('', 'C:\\TEST\\FILE')

All i can find is some comments on POSIX-ness (or not) of the OS, in 
regard to os.path.split(), but i fail to see why that explains the 
different outcome of the last command in the two examples above.

My server needs to be run on either Linux or Windows, it receives 
requests from clients that may run either OS. To process those requests 
i need to split the path and filename. I hoped to solves this using 
os.path.split (), any suggestions as to how to fix this?

Mazzel,

Martijn.




More information about the Python-list mailing list