在 Python 中获取文件扩展名
本教程将介绍如何在 Python 中从文件名中获取文件扩展名。
在 Python 中使用 os.path
模块从文件中提取扩展名
Python 的模块 os.path
预制了有用的实用函数来操作操作系统的文件路径,包括打开、保存和更新,以及从文件路径中获取信息。
我们将使用这个模块来获取 Python 中的文件扩展名。
os.path
有一个函数 splitext()
,用来分割给定文件路径的根和扩展名。该函数返回一个包含根字符串和扩展字符串的元组。
让我们提供一个带有 docx
扩展名的文件路径示例。
/Users/user/Documents/sampledoc.docx
预期的输出应该是扩展名 .docx
。
声明两个独立的变量 extension
和 root
来捕获 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
对象内的属性 parent
和 name
来获取给定文件路径的父文件路径和实际文件名。
输出:
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
现在显示的是实际的扩展名,而不是一个列表。
总之,os
和 pathlib
这两个模块提供了在 Python 中从文件路径中获取文件扩展名的方便方法。
os
模块有一个函数 splitext
,用于将根和文件名从文件扩展名中分离出来。pathlib
创建一个 Path
对象,并简单地将扩展名存储在 suffix
属性中。
如果你预计一个文件中有多个扩展名,最好使用 pathlib
,因为它使用 suffixes
属性为多个扩展名提供了轻松的支持。
相关文章
在 Python 中读取文件的第一行
发布时间:2023/12/24 浏览次数:156 分类:Python
-
本教程演示了如何在 Python 中读取文本文件的第一行。在 Python 中,我们有内置的函数可以处理不同的文件操作。
在 Python 中读取二进制文件
发布时间:2023/12/24 浏览次数:175 分类:Python
-
本教程演示了如何在 Python 中读取二进制文件。程序或内部处理器对二进制文件进行解释。它包含字节作为内容。
用 Python 向文件写入字节
发布时间:2023/12/24 浏览次数:69 分类:Python
-
本教程演示了如何在 Python 中向二进制文件写入字节。本教程中,我们将介绍在 Python 中如何向二进制文件写入字节。
Python 从路径获取不带扩展名的文件名
发布时间:2023/12/24 浏览次数:55 分类:Python
-
本教程演示了如何在 Python 中从文件路径中获取不带扩展名的文件名。本教程将演示在 Python 中从文件路径中获取不带扩展名的文件名的各种方法。
在 Python 中创建一个不存在的文件
发布时间:2023/12/24 浏览次数:64 分类:Python
-
本教程演示了如何在 Python 中创建一个不存在的文件。本教程将解释如何在 Python 中创建一个不存在的文件的各种方法。
在 Python 中向文件写入字符串
发布时间:2023/12/24 浏览次数:92 分类:Python
-
有两种主要方法可用于在 Python 中将字符串写入文件,文件处理和上下文管理器。在本教程中,我们将讨论在 Python 中将字符串写入文件的方法。
在 Python 中替换文件中的一行
发布时间:2023/12/24 浏览次数:64 分类:Python
-
本教程讨论如何在 Python 中替换文件中的一行。文件处理被认为是任何 Web 应用程序的重要方面。与大多数编程语言类似,Python 完全能够支持文件处理。
将 Python 变量保存到文件
发布时间:2023/12/24 浏览次数:110 分类:Python
-
本教程讨论如何在 Python 中将变量保存到文件中。Python 完全有能力支持文件处理。它允许程序员处理不同类型的文件,执行读写等基本操作
在 Python 中从文件中删除特定行
发布时间:2023/12/24 浏览次数:183 分类:Python
-
本教程讨论如何在 Python 中从文件中删除特定行。Python 支持和允许数据文件处理,它构成了 Python 编程语言的重要组成部分。