In windows ,I tried this p1 = "C:\Users\me\Documents" p2 = "..\Pictures\images\my.jpg" print os.path.join(p1,p2) This gives 'C:\\Users\\me\\Documents\\..\\Pictures\\images\\my.jpg' I expected I would get 'C:\\Users\\me\\Pictures\\images\\my.jpg' I thought os.path.join would join the paths more intelligently..Any idea why this happens ? harry