如何使用Python提取文件扩展名?
像Microsoft Windows这样的操作系统使用文件扩展名作为计算机文件名的后缀。它属于元数据类别。操作系统对文件属性的理解,以及在某种程度上对其期望的用途受到文件扩展名的支持。
我们可能需要在Python中提取文件扩展名。你可以用多种方法实现这个目标。
阅读更多:Python 教程
Os.path模块
Python模块os.path可以简化OS文件路径操作。它涵盖了从文件路径接收数据、打开、保存和更新等操作。为了在Python中获取文件扩展名,我们将使用该模块。
函数 splitext() 在 os.path 中,它允许你分离指定文件路径的根和扩展名。该函数的输出是由根字符串和扩展名字符串组成的元组。
使用splitext()方法的示例
函数os.path.splitext()返回一个包含两个元素的元组:文件扩展名和带有文件名路径的路径。下面是使用os.path模块提取文件的示例代码−
# 导入模块
import os
# 提供路径
path = 'D:\Work TP.py'
# 声明变量以获取结果
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对象上的属性后缀返回有关文件扩展名的信息。
通过简单地在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('扩展名:', path.suffix[1:])
例子
以下程序演示了如何使用上述两种方法打印后缀名 −
# 导入模块
import os
import pathlib
路径 = 'D:/test.txt'
结果 = os.path.splitext(路径)
print('扩展名:', 结果[1][1:])
print('扩展名:', pathlib.Path('D:/test.txt').suffix[1:])
输出
扩展名: txt
扩展名: txt