Python 如何提取文件扩展名
像Microsoft Windows这样的操作系统将文件扩展名作为计算机文件名称的后缀。它属于元数据的一种。操作系统对文件属性的理解,并在某种程度上支持其期望的使用方式,都依赖于文件扩展名。
我们可能需要在Python中提取文件扩展名。您可以用多种方法实现此目标。
Os.path模块
利用Python模块os.path,可以简化操作系统文件路径的操作。它涵盖了从文件路径中获取数据、打开、保存和更新操作。为了在Python中获取文件扩展名,我们将利用该模块。
函数 splitext() 在 os.path 中允许您分离指定文件路径的根和扩展名。该函数的输出是一个由根字符串和扩展名字符串组成的元组。
使用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对象上的属性后缀返回有关文件扩展名的信息。
通过在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
极客笔记