我可以的
>>> os.path.join("c:/","home","foo","bar","some.txt")
'c:/home\\foo\\bar\\some.txt'
但是,当我这样做时
>>> s = "c:/,home,foo,bar,some.txt".split(",")
>>> os.path.join(s)
['c:/', 'home', 'foo', 'bar', 'some.txt']
我在这里错过了什么?
最佳答案
问题是,os.path.join
不以 list
作为参数,它必须是单独的参数。
要将列表解包 放入 join
所需的单独参数中(并且为了记录:列表是使用 split
从字符串中获得的), 使用 *
- 或 'splat' 运算符,因此:
>>> s = "c:/,home,foo,bar,some.txt".split(",")
>>> os.path.join(*s)
'c:/home\\foo\\bar\\some.txt'
关于列表中的 Python os.path.join(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14826888/