python - Joining: string and absolute path with os.path -
why not working, doing wrong?
>>> p1 = r'\foo\bar.txt' >>> os.path.join('foo1', 'foo2', os.path.normpath(p1)) '\\foo\\bar.txt' i expected this:
'foo1\\foo2\\foo\\bar.txt' edit:
a solution
>>> p1 = r'\foo\bar.txt' >>> p1 = p1.strip('\\') # strip '\\' path not absolute >>> os.path.join('foo1', 'foo2', os.path.normpath(p1)) 'foo1\\foo2\\foo\\bar.txt'
when os.path.join encounters absolute path, throws away has accumulated far. absolute string 1 starts slash (ans on windows, optional drive letter). normpath won't touch slash has same notion of absolute paths. have strip slash.
and if may ask: come in first place?
Comments
Post a Comment