如何确定文件路径的深度?

KZi*_*vas 2 python path

我有一个像这样的字符串路径:

path = "directory/folder1/folder2/folder3/file1.txt"
Run Code Online (Sandbox Code Playgroud)

我想知道这条路径有多少层 - 在本例中为 4 ( directory, folder1, folder2, folder3)。

在 Python 中最好的方法是什么?我想到了计算“/”:

path.count("/")
Run Code Online (Sandbox Code Playgroud)

但我想知道是否有更好的方法。

Tom*_*koo 7

您可以使用以下方法轻松完成pathlib

from pathlib import Path

path = Path("directory/folder1/fodler2/folder3/file1.txt")

print(len(path.parents), list(path.parents))
Run Code Online (Sandbox Code Playgroud)

这使:

5 [Path('directory/folder1/fodler2/folder3'), Path('directory/folder1/fodler2'), Path('directory/folder1'), Path('directory'), Path('.')]
Run Code Online (Sandbox Code Playgroud)

可以看出,结果是 5,因为"."也在列表中,因为"directory/folder1/fodler2/folder3/file1.txt"隐式等于"./directory/folder1/fodler2/folder3/file1.txt",因此您始终可以从结果中减去 1。


与 相比path.count('/'),这是平台无关的......