开发者社区> 问答> 正文

为什么list上的os.path.join()和list上的os.path.sep.join()在功

我正在处理一个需要分割和重新连接一些文件路径的程序,我不知道为什么os.path.join(*list)和os.path.sep.join(list)在分隔的路径中出现驱动器号时会产生不同的结果。

import os

path = 'C:\\Users\\choglan\\Desktop'

separatedPath = path.split(os.path.sep)
# ['C:', 'Users', 'choglan', 'Desktop']

path = os.path.sep.join(separatedPath)
# C:\\Users\\choglan\\Desktop
print(path)

path = os.path.join(*separatedPath)
# C:Users\\choglan\\Desktop
print(path)

为什么会这样?我的程序应该只使用os.path.sep.join(list)吗? 问题来源StackOverflow 地址:/questions/59383233/why-are-os-path-join-on-a-list-and-os-path-sep-join-on-a-list-not-functional

展开
收起
kun坤 2019-12-27 10:33:28 525 0
1 条回答
写回答
取消 提交回答
  • os.path。join并不是path.split(os.path.sep)的反向。如果你阅读了文档,你会发现一个比仅仅使用os.path复杂得多的过程描述。9 .论点之间的分离。最相关的部分如下: 您可能应该使用pathlib.PurePath(path)。部分而不是路径。

    2019-12-27 10:33:34
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Spark SQL: Past, Present and Future 立即下载
Spark SQL:Past Present &Future 立即下载
Paddling Up the Stream: Lesson 立即下载