簡體   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