如何在 Python 中從路徑獲取檔名
-
使用
ntpath庫從路徑中獲取檔名 -
使用
ntpath.basename()從路徑中獲取檔名 -
Python 使用
os.path.basename()從路徑中獲取檔名 -
Python 使用
os.path.split()從路徑獲取檔名
本教程介紹瞭如何在 Python 中從路徑中獲取檔名。它還列出了一些示例程式碼,以進一步演示與特定作業系統相關的概念。
使用 ntpath 庫從路徑中獲取檔名
定義路徑的方式可以是不同的。在 Windows 中,檔案的路徑可以使用反斜線或正斜線作為路徑分隔符。因此,ntpath 模組將適用於所有平臺上的所有路徑。
ntpath 庫支援一個函式是 basename。這個函式傳遞一個 path,執行後,ntpath.basename(path) 從給定的 path 中返回檔名。使用該方法的基本例子如下所示。
import ntpath
print(ntpath.basename("usr/temp/new/sample"))
輸出:
sample
使用 ntpath.basename() 從路徑中獲取檔名
這個庫同樣適用於 Linux。然而,在 Linux 中,檔名可能包含反斜槓。所以在 Linux 中,r'usr/xyz\python'總是指 usr 資料夾中的 xyz\python 檔案。
import ntpath
print(ntpath.basename("r'usr/xyz\python'"))
輸出:
xyz\python
它指的是 Windows 中 usr 資料夾下 xyz 子資料夾中的檔名 python。當一個路徑中同時使用後斜槓和前斜槓時,我們應該知道我們使用的是哪個平臺,否則,你可能無法正確解釋路徑。
還有一種方法可以從路徑中獲取檔名,即 os.path.basename()。
Python 使用 os.path.basename() 從路徑中獲取檔名
你也可以使用 os.path 庫提供的一個函式從路徑中獲取檔名。這個函式是 basename,用來獲取檔名。
basename 以 path 為引數,返回 filename。
以下是程式碼示例。
import os
print(os.path.basename("usr/temp/eng"))
輸出:
eng
如果系統是 POSIX,並且傳遞給 os.path.basename() 的是一個包含雙斜線的 windows 風格的路徑,那麼輸出將是給出的完整路徑。
# in Linux
import os
print(os.path.basename("E:\\aws\\temp.jpg"))
輸出:
E:\\aws\\temp.jpg
Python 使用 os.path.split() 從路徑獲取檔名
如果需要單獨的頭和尾,可以使用 os.path.split() 方法。該方法以 path 為引數,返回路徑的 head 和 tail。
下面是一個示例程式碼。
import os
head, tail = os.path.split("/Users/xyz/Downloads")
print(head)
print(tail)
輸出:
/Users/xyz
Downloads
Syed Moiz is an experienced and versatile technical content creator. He is a computer scientist by profession. Having a sound grip on technical areas of programming languages, he is actively contributing to solving programming problems and training fledglings.
LinkedIn