在 Python 中從路徑中獲取目錄

Sidrah Abdullah 2023年1月30日
  1. 各種作業系統中檔案路徑的差異
  2. 在 Python 中使用 os.path.basename 從檔案路徑中查詢檔名
  3. 在 Python 中使用 os.path.splittext 從檔案路徑中查詢檔名
  4. 使用 os.path.dirname 從 Python 中的檔案路徑中查詢目錄名稱
  5. 在 Python 中使用 pathlib 模組提取目錄名稱
  6. 在 Python 中使用 os.path.abspath 從檔案路徑中查詢目錄名稱
在 Python 中從路徑中獲取目錄

檔案路徑是表示檔案在系統或目錄中的位置的唯一字串。有時,你可能必須從檔案路徑中檢索或提取任何部分或塊。

有幾種方法可以從 Python 中的檔案路徑中提取部分。

各種作業系統中檔案路徑的差異

我們在 Linux 目錄結構(包括 MAC)中使用正斜槓 /,而在 Windows 中,我們使用反斜槓 \ 作為分隔符。

要檢查你的系統使用哪個分隔符,請使用 os.sepos.path.sep。它將返回系統使用的路徑分隔符。

在 Python 中使用 os.path.basename 從檔案路徑中查詢檔名

在 Python 中提取部分檔案路徑的第一種也是最簡單的方法是使用 os.path.basename() 函式。

此函式從檔案路徑返回檔名及其副檔名。此外,它適用於所有 Python 版本。

import os

fpath = "c:\Project\input.txt"
os.path.basename(fpath)

輸出:

在 Python 中使用 os.path.basename 從檔案路徑中查詢檔名

在 Python 中使用 os.path.splittext 從檔案路徑中查詢檔名

如果你只想從檔案路徑中提取檔名而不是其副檔名,你將使用 os.path.splittext() 函式。此函式將僅返回檔名。

此外,你將使用此函式新增索引 0 以獲得所需的輸出。splittext() 函式將檔案路徑拆分為一個陣列。因此,索引 0 代表檔名,而索引 1 代表它的副檔名。

import os

fpath = "c:\Project\input.txt"
fname = os.path.splitext(fpath)[0]

輸出:

在 Python 中使用 os.path.splittext 從檔案路徑中查詢檔名

使用 os.path.dirname 從 Python 中的檔案路徑中查詢目錄名稱

函式 os.path.dirname() 用於從路徑中提取目錄名稱。此函式將在 Python 控制檯上將目錄名稱作為字串返回。

import os

fpath = "c:\Project\input.txt"
dirname = os.path.dirname(filepath)
print(dirname)

輸出:

使用 os.path.dirname 從 Python 中的檔案路徑中查詢目錄名稱

該函式返回父目錄的完整路徑。

在 Python 中使用 pathlib 模組提取目錄名稱

從檔案路徑獲取目錄的另一種方法是使用 pathlib 模組。這在 Python 3.4+ 版本中特別可用。

該函式接受一個引數,即檔案路徑,並且可以根據獲取的專案返回各種輸出。讓我們首先匯入檔案及其路徑。

from pathlib import Path

p = Path("C:\\Program Files\\Internet Explorer\\iexplore.exe")

要檢查父目錄,請執行以下程式碼:

str(p.parent)

輸出:

在 Python 中使用 pathlib 模組提取目錄名稱

要將目錄和檔名作為部分獲取,請使用 path 模組的 part 函式。例如:

P.parts

你會得到類似這樣的結果。

在 Python 中使用 pathlib 模組提取目錄名稱

在 Python 中使用 os.path.abspath 從檔案路徑中查詢目錄名稱

OS 模組還提供從檔案路徑中提取目錄的功能。

這個函式有兩個不同的引數:反斜槓和點字元。反斜槓字元返回根目錄,點返回當前目錄。

import os

directory = os.path.abspath("\\")
print(directory)

輸出:

在 Python 中使用 os.path.abspath 從檔案路徑中查詢目錄名稱

下面是獲取絕對路徑的程式碼:

directory = os.path.abspath(".")
print(directory)

輸出:

'C:\Users\User\Desktop'

本教程著眼於在 Python 中拆分檔案路徑的幾個函式和模組。我們還學習瞭如何在 Python 中使用 OSPath 模組從檔案路徑中提取名稱或目錄。

相關文章 - Python Directory

相關文章 - Python Path