I don't know if the code is wrong but if you're asking if the *result* of join is wrong, I don't think it is. It references the same file as these commands:

cd /static
cat /styles/largestyles,css

I agree it might be confusing but it's pretty explicitly documented. On the other hand, this is also documented and it's wrong by the above standard

>>> os.path.join(r'c:\abc', r'\def\g')   # Windows paths

On Windows \def\g is a drive-relative path not an absolute path. To get the right result you need to do:

>>> drive, path = os.path.splitdrive(r'c:\abc')
>>> drive + os.path.join(path, r'/def/g')

This works even on systems that don't use drive letters. It would be nice if there was a less clumsy way to do this. It's worse than that because it also screws up UNC paths

>>> os.path.join(r'\\abc\def\ghi', r'\x\y')

The result references a UNC share of \\x\y rather than a directory of x which is also wrong. It would be nice if there was a simpler way to get this right:

>>> os.path.join(r'c:\abc', r'\x\y', keep_drive_unc=True)
>>> os.path.join(r'\\abc\def\ghi', r'\x\y', keep_drive_unc=True)

--- Bruce
I'm hiring: http://www.cadencemd.com/info/jobs
Latest blog post: Alice's Puzzle Page http://www.vroospeak.com
Learn how hackers think: http://j.mp/gruyere-security

On Wed, Oct 30, 2013 at 9:34 AM, anatoly techtonik <techtonik@gmail.com> wrote:
  >>> os.path.join('/static', '/styles/largestyles.css')

Is it only me who thinks that the code above is wrong?
Python-ideas mailing list