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

更新于:2022年8月17日

5K+ 次浏览

开启您的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.