[Python] os.path.splitext("path"):分离文件名与扩展名

本文介绍了一种使用Python os模块的splitext函数来解析文件路径,提取文件名和扩展名的方法。这对于识别文件格式非常有用,例如从路径C:DatasetsPaviaUPaviaU.mat中解析出.mat格式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

功能:

输入为"文件路径",输出为文件名和扩展名的元组(文件名,扩展名)

最重要的功能是获得文件的扩展名,从而识别文件的格式

语法:

import os

FileName,ExtensionName = os.path.splitext("path")

# 当只需要ExtensionName的时候可以这样写:
_,ExtensionName = os.path.splitext("path")

示例:

iimport os

path_1 = "C:\Datasets\PaviaU\PaviaU.mat"

FileName, ExtensionName  = os.path.splitext(path_1)

print(FileName)
# C:\Datasets\PaviaU\PaviaU

print(ExtensionName)
# .mat

可以知道Datasets文件夹中PaviaU.mat是.mat格式。

### os.path.splitext 方法的功能使用示例 `os.path.splitext` 是 Python 中 `os.path` 模块提供的一个函数,用于将文件路径分割成主文件名扩展名两部分。该函数返回一个元组,其中第一个元素是主文件名(不包含扩展名),第二个元素是文件扩展名(包含点号 `.`)[^2]。 #### 语法 ```python import os os.path.splitext(path) ``` - **参数**:`path` 是一个文件路径(可以是相对路径或绝对路径)。 - **返回值**:返回一个元组 `(filename, extension)`,其中: - `filename` 是主文件名(不包括扩展名)。 - `extension` 是文件扩展名(包括点号 `.`)。 #### 使用示例 ##### 分割文件名扩展名 以下代码展示了如何使用 `os.path.splitext` 来分割文件名扩展名: ```python import os file_path = "example.txt" name, ext = os.path.splitext(file_path) print(name) # 输出: example print(ext) # 输出: .txt ``` ##### 分割不同类型的文件 `os.path.splitext` 可以处理多种文件类型,包括多级扩展名的情况: ```python import os print(os.path.splitext("document.pdf")) # ('document', '.pdf') print(os.path.splitext("image.jpeg")) # ('image', '.jpeg') print(os.path.splitext("archive.tar.gz")) # ('archive.tar', '.gz') print(os.path.splitext("no_extension")) # ('no_extension', '') ``` 在多级扩展名的情况下,该函数仅将最后一个点号后的内容视为扩展名,其余部分作为主文件名 。 ##### 结合绝对路径使用 `os.path.splitext` 也可以处理绝对路径: ```python import os path_01 = 'D:/User/wgy/workplace/data/notMNIST_large.tar.gar' root_01 = os.path.splitext(path_01) print(root_01) # ('D:/User/wgy/workplace/data/notMNIST_large.tar', '.gar') ``` #### 注意事项 - 如果文件路径中没有扩展名,则返回的扩展名部分为空字符串 [^4]。 - 该函数不会验证文件是否存在,仅对路径字符串进行操作 。 ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值