从 pathlib 的 Path object 获取顶层
Get a top level from Path object of pathlib
我使用pathlib
递归匹配所有文件,以根据文件内容过滤文件。然后我想找到这个文件的文件夹的顶层是什么。假设如下。我在文件夹中有一个文件:
a/b/c/file.log
我从 a
:
级别进行搜索
for f in path_data.glob("**/*"):
if something inside file f:
# I would like to get in what folder this file is, i.e. 'b'
我现在可以使用以下方式获得所有 parents 级别:
f.parents
会给我 b/c
f.parent
会给我 c
f.name
会给我 file.log
可是我怎么才能得到b
呢?
准确地说:存储文件的层数未知。
UPD:我知道我可以用 split 做到这一点,但我想知道是否有合适的 API 来做到这一点。我没找到。
前段时间有人问过这个问题,但没有引起足够的重视。尽管如此,我还是会公布答案:
f.parts[0]
我使用pathlib
递归匹配所有文件,以根据文件内容过滤文件。然后我想找到这个文件的文件夹的顶层是什么。假设如下。我在文件夹中有一个文件:
a/b/c/file.log
我从 a
:
for f in path_data.glob("**/*"):
if something inside file f:
# I would like to get in what folder this file is, i.e. 'b'
我现在可以使用以下方式获得所有 parents 级别:
f.parents
会给我b/c
f.parent
会给我c
f.name
会给我file.log
可是我怎么才能得到b
呢?
准确地说:存储文件的层数未知。
UPD:我知道我可以用 split 做到这一点,但我想知道是否有合适的 API 来做到这一点。我没找到。
前段时间有人问过这个问题,但没有引起足够的重视。尽管如此,我还是会公布答案:
f.parts[0]