列表中的 Python os.path.join()

标签 python python-2.7 os.path

我可以的

>>> 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/

相关文章:

python - 创建一个由函数内部的类组成并在主要部分中使用的系统

python从输入日期获取工作日

python - 如何使用用户条目更改文件名?

python - 运行 os.path.realpath 时与 F5 和 F9 的结果不同

python - 如何用python在windows中打开文件?

python - 如何在不提取的情况下遍历包含 zip 文件的 tar.gz 文件

python - 尝试根据字典中的值设置变量

python - 导入 future python 时出错

python-2.7 - 列表的正确 Google 文档字符串

python - 如何将文件内容修改为字符串,同时有权访问影响字符串中的行的方法?