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

更新于:2022年8月17日

5K+ 次浏览

启动你的职业生涯

完成课程后获得认证

开始学习
广告