如何使用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() 方法时,需要在结果[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