如何使用Python提取副檔名?


像Microsoft Windows這樣的作業系統使用副檔名作為計算機檔名字尾。它屬於元資料類別。作業系統對檔案屬性的理解,以及在某種程度上對預期用法的理解,都依賴於副檔名。

我們可能需要在Python中提取副檔名。您可以透過多種方式實現此目標。

os.path模組

Python的os.path模組簡化了OS檔案路徑操作。它涵蓋了從檔案路徑接收資料、開啟、儲存和更新等功能。為了在Python中獲取副檔名,我們將使用此模組。

os.path中的splitext()函式允許您分離指定檔案路徑的根和副檔名。該函式的輸出是一個由根字串和副檔名字串組成的元組。

使用splitext()方法的示例

os.path.splitext()函式返回一個包含兩項的元組:副檔名和包含檔名路徑。以下是如何使用os.path模組提取檔案的示例:

# importing the module import os

# Providing the path path = 'D:\Work TP.py'

# declaring the variable to get the result result = os.path.splitext(path) print('Path:', result[0]) print('Extension:', result[1])

輸出

現在已成功返回包含副檔名的根檔案路徑。以下是上述程式碼的輸出:

Path: D:\Work TP
Extension: .py

pathlib模組

Pathlib是一個Python模組,它定義了對錶示檔案路徑的類的有用函式和常量。

使用路徑字串作為引數,pathlib.Path()建立一個新的Path物件。

pathlib.Path物件上的suffix屬性返回有關副檔名的資訊。

除了根目錄外,我們還可以透過簡單地呼叫Path物件中的parent和name屬性來獲取提供的檔案路徑的父檔案路徑和實際檔名。

示例

以下是如何使用pathlib模組提取檔案的示例:

import pathlib path = pathlib.Path('D:\Work TP.py') print('Parent:', path.parent) print('NameOfFile:', path.name) print('Extension:', path.suffix)

輸出

以下是上述程式碼的輸出:

Parent: D:\
NameOfFile: Work TP.py
Extension: .py

僅提取副檔名字尾(不帶點)

如果您想刪除點並僅提取副檔名字尾,例如py、txt、docx等,則在使用splitext()方法時,需要在result[1]之後新增“[1:]”,如下所示:

print('Extension:', result[1][1:])

同樣,在使用pathlib.Path()方法時,在path.suffix之後新增“[1:]”,如下所示:

print('Extension:', path.suffix[1:])

示例

以下程式演示瞭如何使用上面討論的兩種方法列印僅字尾:

# importing the modules import os import pathlib path = 'D:/test.txt' result = os.path.splitext(path) print('Extension:', result[1][1:]) print('Extension:', pathlib.Path('D:/test.txt').suffix[1:])

輸出

Extension: txt
Extension: txt

更新於:2022年8月17日

5K+ 次瀏覽

開啟您的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.