Python os.path.join() on a list

The problem is, os.path.join doesn’t take a list as argument, it has to be separate arguments.

To unpack the list into separate arguments required by join (and for the record: list was obtained from a string using split), use * – or the ‘splat’ operator, thus:

>>> s = "c:/,home,foo,bar,some.txt".split(",")
>>> os.path.join(*s)
'c:/home\\foo\\bar\\some.txt'

Leave a Comment