Supponendo che joinnon sia stato progettato in questo modo (cosa che è, come ha sottolineato ATOzTOA), e ci sono voluti solo due parametri, è comunque possibile utilizzare il built-in reduce:
>>> reduce(os.path.join,["c:/","home","foo","bar","some.txt"])
'c:/home\\foo\\bar\\some.txt'
Stesso output di:
>>> os.path.join(*["c:/","home","foo","bar","some.txt"])
'c:/home\\foo\\bar\\some.txt'
Solo per completezza e motivi educativi (e per altre situazioni in cui *non funziona).
Suggerimento per Python 3
reduceè stato spostato nel functoolsmodulo.