如何使用 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