繁体   English   中英

如何获取 python 中特定父目录的路径

[英]How get path of specific parent directory in python

我有path = "dir1/dir2/dir3/file.py"

我需要一种方法来获取dir2的完整路径,即dir1/dir2

类似findparent(path, 'dir2')

您可以按目标目录split路径,从列表中取出第一个元素,然后将目标目录添加到目标路径。

path = "dir1/dir2/dir3/file.py"

def findparent(path: str, dir_: str) -> str:
    return path.split(dir_)[0] + dir_

print(findparent(path, 'dir2'))
# dir1/dir2 

如果您使用pathlib并且路径实际存在:

path.resolve().parent

只是path.parent也可以,纯粹在语法上,但有一些警告,如文档中所述。

要查找父层次结构的一个特定部分,您可以反复调用parent ,或搜索path.parents以获取您需要的名称。

假设您当前的工作目录与您的dir1位于同一位置,您可以执行以下操作:

import os
os.path.abspath("dir1/dir2")

看一下这个! 如何获取父目录位置

我最喜欢的是

from pathlib import Path

Path(__file__).parent.parent.parent # ad infinitum

你甚至可以编写一个循环来到达 dir2,就像这样..

from pathlib import Path
goal_dir = "dir2"
current_dir = Path(__file__)
for i in range(10):
    if current_dir == goal_dir:
        break
    current_dir = current_dir.parent

注意:此解决方案不是最好的,您可能希望使用 while 循环并检查是否确实存在父级。 如果您处于根级别并且没有父级,则它不存在。 但是,假设它存在并且您没有超过 10 个级别的树,则此方法有效。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM