如何在 Python 中從路徑獲取檔名

Syed Moiz Haider 2023年1月30日 2020年11月7日
  1. 使用 ntpath 庫從路徑中獲取檔名
  2. 使用 ntpath.basename() 從路徑中獲取檔名
  3. Python 使用 os.path.basename() 從路徑中獲取檔名
  4. Python 使用 os.path.split() 從路徑獲取檔名
如何在 Python 中從路徑獲取檔名

本教程介紹瞭如何在 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,用來獲取檔名。

basenamepath 為引數,返回 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 為引數,返回路徑的 headtail

下面是一個示例程式碼。

import os

head, tail = os.path.split("/Users/xyz/Downloads")
print(head)
print(tail)

輸出:

/Users/xyz
Downloads
Syed Moiz Haider avatar Syed Moiz Haider avatar

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

相關文章 - Python Path