迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Python >

在 Python 中获取文件扩展名

作者:迹忆客 最近更新:2023/12/21 浏览次数:

本教程将介绍如何在 Python 中从文件名中获取文件扩展名。


在 Python 中使用 os.path 模块从文件中提取扩展名

Python 的模块 os.path 预制了有用的实用函数来操作操作系统的文件路径,包括打开、保存和更新,以及从文件路径中获取信息。

我们将使用这个模块来获取 Python 中的文件扩展名。

os.path 有一个函数 splitext(),用来分割给定文件路径的根和扩展名。该函数返回一个包含根字符串和扩展字符串的元组。

让我们提供一个带有 docx 扩展名的文件路径示例。

/Users/user/Documents/sampledoc.docx

预期的输出应该是扩展名 .docx

声明两个独立的变量 extensionroot 来捕获 splitext() 的结果。

import os

path = "/Users/user/Documents/sampledoc.docx"
root, extension = os.path.splitext(path)

print("Root:", root)
print("extension:", extension)

输出:

Root: /Users/user/Documents/sampledoc
Extension: .docx

扩展名现在已经从根文件路径成功返回。


在 Python 中使用 pathlib 模块从文件中提取扩展名

pathlib 是一个 Python 模块,它包含代表文件路径的类,并为这些类实现实用函数和常量。

pathlib.Path() 接受一个路径字符串作为参数并返回一个新的 Path 对象。

pathlib.Path 对象有属性 suffix,返回文件扩展信息。

import pathlib

path = pathlib.Path("/Users/user/Documents/sampledoc.docx")

print("Parent:", path.parent)
print("Filename:", path.name)
print("Extension:", path.suffix)

除了根目录外,我们还可以通过简单调用 Path 对象内的属性 parentname 来获取给定文件路径的父文件路径和实际文件名。

输出:

Parent: /Users/user/Documents
Filename: sampledoc.docx
Extension: .docx

如果文件扩展名是 .tar.gz.tar.bz2 呢?

pathlib 还提供了一个属性,用于处理有多个后缀的文件。Path 对象中的属性 suffixes 是一个包含所有给定文件后缀的列表。如果我们使用上面的例子并打印出 suffixes 属性。

import pathlib

path = pathlib.Path("/Users/user/Documents/sampledoc.docx")

print("Suffix(es):", path.suffixes)

输出:

Suffix(es): ['.docx']

所以即使只有一个后缀,输出的结果也会是一个列表。

现在试试用 .tar.gz 扩展名的例子。要将列表转换为单字符串,可以在一个空字符串上使用 join() 函数,并接受 suffixes 属性作为参数。

import pathlib

path = pathlib.Path("/Users/user/Documents/app_sample.tar.gz")

print("Parent:", path.parent)
print("Filename:", path.name)
print("Extension:", "".join(path.suffixes))

输出:

Parent: /Users/user/Documents
Filename: app_sample.tar.gz
Extension: .tar.gz

现在显示的是实际的扩展名,而不是一个列表。

总之,ospathlib 这两个模块提供了在 Python 中从文件路径中获取文件扩展名的方便方法。

os 模块有一个函数 splitext,用于将根和文件名从文件扩展名中分离出来。pathlib 创建一个 Path 对象,并简单地将扩展名存储在 suffix 属性中。

如果你预计一个文件中有多个扩展名,最好使用 pathlib,因为它使用 suffixes 属性为多个扩展名提供了轻松的支持。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Pandas read_csv()函数

发布时间:2024/04/24 浏览次数:254 分类:Python

Pandas read_csv()函数将指定的逗号分隔值(csv)文件读取到 DataFrame 中。

Pandas 追加数据到 CSV 中

发布时间:2024/04/24 浏览次数:352 分类:Python

本教程演示了如何在追加模式下使用 to_csv()向现有的 CSV 文件添加数据。

Pandas 多列合并

发布时间:2024/04/24 浏览次数:628 分类:Python

本教程介绍了如何在 Pandas 中使用 DataFrame.merge()方法合并两个 DataFrames。

Pandas loc vs iloc

发布时间:2024/04/24 浏览次数:837 分类:Python

本教程介绍了如何使用 Python 中的 loc 和 iloc 从 Pandas DataFrame 中过滤数据。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便