[英]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.