在 Python 中獲取父目錄

Muhammad Waiz Khan 2023年1月30日
  1. 在 Python 中使用 pathlib 模組的 path.parent() 方法獲取父目錄
  2. 在 Python 中使用 os 模組的 pardir() 方法獲取父目錄
  3. 在 Python 中使用 os 模組的 dirname() 方法獲取父目錄
在 Python 中獲取父目錄

本教程將講解在 Python 中獲取一個路徑的父目錄的各種方法。父目錄是指高於或高於給定目錄或檔案的目錄。例如,路徑 C:\folder\subfolder\myfile.txt 的父目錄是 C:\folder\subfolder。除了根目錄外,每個目錄都有一個父目錄。

在 Python 中使用 pathlib 模組的 path.parent() 方法獲取父目錄

path.parent() 方法,顧名思義,就是以字串的形式返回作為引數傳遞的路徑的父目錄。因此,要得到一個路徑的父目錄,我們需要將路徑字串傳遞給 pathlib 模組的 path.parent() 方法。

下面的示例程式碼演示瞭如何在 Python 中使用 path.parent() 來獲取一個路徑的父目錄。

from pathlib import Path

path1 = Path(r"C:\folder\subfolder\myfile.txt")
path2 = Path(r"C:\Myfile.txt")
print(path1.parent)
print(path2.parent)

輸出:

C:\folder\subfolder
C:\

在 Python 中使用 os 模組的 pardir() 方法獲取父目錄

os.pardir 是指父目錄的常量字串。對於 Windows 和 POSIX 作業系統,它是'..',對於 Mac 作業系統,它是'::'

當我們在 os.path.join() 方法中把給定的路徑和 os.pardir 結合起來,我們就可以得到給定目錄的父目錄。

下面的示例程式碼演示瞭如何使用 os 模組的 os.pardirpath.join() 方法來獲取路徑的父目錄。

import os.path

path1 = r"C:\folder\subfolder\myfile.txt"
path2 = r"C:\Myfile.txt"

print(os.path.abspath(os.path.join(path1, os.pardir)))
print(os.path.abspath(os.path.join(path2, os.pardir)))

輸出:

C:\folder\subfolder
C:\

如上所述,如果作業系統是 Windows 或 POSIX,如果我們將 os.pardir 替換為'..',我們也可以得到同樣的結果。

import os.path

path1 = r"C:\folder\subfolder\myfile.txt"
path2 = r"C:\Myfile.txt"

print(os.path.abspath(os.path.join(path1, "..")))
print(os.path.abspath(os.path.join(path2, "..")))

輸出:

C:\folder\subfolder
C:\

在 Python 中使用 os 模組的 dirname() 方法獲取父目錄

os 模組的 dirname() 方法將路徑字串作為輸入,並返回父目錄作為輸出。

下面的示例程式碼演示瞭如何使用 dirname() 方法獲取路徑的父目錄。

import os.path

path1 = Path(r"C:\folder\subfolder\myfile.txt")
path2 = Path(r"C:\Myfile.txt")

print(os.path.dirname(path1))
print(os.path.dirname(path2))

輸出:

C:\folder\subfolder
C:

相關文章 - Python Directory

相關文章 - Python Path