如何删除路径的第一部分?



假设我有路径fodler1/folder2/folder3,但我事先不知道文件夹的名称。

如何删除该路径的第一部分以仅获得folder2/folder3?

您可以使用pathlib.Path:

from pathlib import Path
p = Path("folder1/folder2/folder3")

并将除第一个之外的所有parts连接起来:

new_path = Path(*p.parts[1:])

或者创建一个路径relative_to第一部分:

new_path = p.relative_to(p.parts[0])

此代码不需要指定路径分隔符,并且适用于所有pathlib支持的平台(Python>= 3.4)。

使用str.split1作为maxsplit参数:

path = "folder1/folder2/folder3"
path.split("/", 1)[1]
# 'folder2/folder3'

如果没有/在那里,你可能会更安全:

path.split("/", 1)[-1]  # pick the last of one or two tokens

,但这取决于你想要的逻辑。为了更好地实现跨系统的可移植性,您可以将斜杠"/"替换为os.path.sep:

import os
path.split(os.path.sep, 1)[1]

相关内容

  • 没有找到相关文章

最新更新