在 Python 中從路徑中獲取目錄
- 各種作業系統中檔案路徑的差異
-
在 Python 中使用
os.path.basename
從檔案路徑中查詢檔名 -
在 Python 中使用
os.path.splittext
從檔案路徑中查詢檔名 -
使用
os.path.dirname
從 Python 中的檔案路徑中查詢目錄名稱 -
在 Python 中使用
pathlib
模組提取目錄名稱 -
在 Python 中使用
os.path.abspath
從檔案路徑中查詢目錄名稱
檔案路徑是表示檔案在系統或目錄中的位置的唯一字串。有時,你可能必須從檔案路徑中檢索或提取任何部分或塊。
有幾種方法可以從 Python 中的檔案路徑中提取部分。
各種作業系統中檔案路徑的差異
我們在 Linux 目錄結構(包括 MAC)中使用正斜槓 /
,而在 Windows 中,我們使用反斜槓 \
作為分隔符。
要檢查你的系統使用哪個分隔符,請使用 os.sep
或 os.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.splittext
從檔案路徑中查詢檔名
如果你只想從檔案路徑中提取檔名而不是其副檔名,你將使用 os.path.splittext()
函式。此函式將僅返回檔名。
此外,你將使用此函式新增索引 0
以獲得所需的輸出。splittext()
函式將檔案路徑拆分為一個陣列。因此,索引 0
代表檔名,而索引 1
代表它的副檔名。
import os
fpath = "c:\Project\input.txt"
fname = os.path.splitext(fpath)[0]
輸出:
使用 os.path.dirname
從 Python 中的檔案路徑中查詢目錄名稱
函式 os.path.dirname()
用於從路徑中提取目錄名稱。此函式將在 Python 控制檯上將目錄名稱作為字串返回。
import os
fpath = "c:\Project\input.txt"
dirname = os.path.dirname(filepath)
print(dirname)
輸出:
該函式返回父目錄的完整路徑。
在 Python 中使用 pathlib
模組提取目錄名稱
從檔案路徑獲取目錄的另一種方法是使用 pathlib
模組。這在 Python 3.4+ 版本中特別可用。
該函式接受一個引數,即檔案路徑,並且可以根據獲取的專案返回各種輸出。讓我們首先匯入檔案及其路徑。
from pathlib import Path
p = Path("C:\\Program Files\\Internet Explorer\\iexplore.exe")
要檢查父目錄,請執行以下程式碼:
str(p.parent)
輸出:
要將目錄和檔名作為部分獲取,請使用 path 模組的 part 函式。例如:
P.parts
你會得到類似這樣的結果。
在 Python 中使用 os.path.abspath
從檔案路徑中查詢目錄名稱
OS 模組還提供從檔案路徑中提取目錄的功能。
這個函式有兩個不同的引數:反斜槓和點字元。反斜槓字元返回根目錄,點返回當前目錄。
import os
directory = os.path.abspath("\\")
print(directory)
輸出:
下面是獲取絕對路徑的程式碼:
directory = os.path.abspath(".")
print(directory)
輸出:
'C:\Users\User\Desktop'
本教程著眼於在 Python 中拆分檔案路徑的幾個函式和模組。我們還學習瞭如何在 Python 中使用 OS
和 Path
模組從檔案路徑中提取名稱或目錄。
相關文章 - Python Directory
- 在 Python 中列出目錄和子目錄中的所有檔案
- 在 Python 中對資料夾中的每個檔案執行命令
- 用 Python 開啟目錄中的所有檔案
- 在 Python 中列出子目錄
- 在 Python 中獲取父目錄