假设我有路径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.split
和1
作为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]