首页 > 编程知识 正文

Python取文件名不要后缀

时间:2023-11-20 19:09:53 阅读:294425 作者:LRAS

在Python中,我们常常需要从文件路径中提取文件名,而有时候我们又需要去掉文件名的后缀。

一、os.path.basename()函数

Python中的os模块提供了一种简单的方法来获取文件名。os.path.basename()函数接受一个完整的文件路径作为参数,并返回该路径中的文件名部分。

import os

file_path = '/path/to/file.txt'
file_name = os.path.basename(file_path)
print(file_name)  # file.txt

通过调用os.path.basename()函数,我们可以轻松地获取到文件名file.txt。

二、split()方法

如果你想去掉文件名的后缀,我们可以使用Python字符串的split()方法。split()方法将字符串按指定的分隔符进行分割,并返回一个由分割后的部分组成的列表。

file_name = 'file.txt'
name_parts = file_name.split('.')
file_name_without_extension = name_parts[0]
print(file_name_without_extension)  # file

在这个例子中,我们将文件名按照'.'进行分割,得到一个包含两个元素的列表['file', 'txt']。我们只需要取第一个元素,即可获得没有后缀的文件名。

三、使用正则表达式

如果我们需要处理复杂的文件名,或者文件名中包含多个'.',我们可以使用正则表达式来处理。

import re

file_name = 'file.1.2.txt'
file_name_without_extension = re.sub(r'.[^.]*$', '', file_name)
print(file_name_without_extension)  # file.1.2

在这个例子中,我们使用re.sub()函数将文件名中最后一个点后面的部分替换为空字符串。这样就可以得到没有后缀的文件名。

四、os.path.splitext()函数

除了上述方法外,Python的os模块还提供了一个非常方便的函数os.path.splitext()来获取文件名和后缀。

import os

file_path = '/path/to/file.txt'
file_name, file_extension = os.path.splitext(os.path.basename(file_path))
print(file_name)  # file
print(file_extension)  # .txt

通过调用os.path.splitext()函数,我们可以一次性获取到文件名和后缀,进一步方便我们的文件名处理。

总而言之,Python中有多种方法可以帮助我们提取文件名并去掉后缀。我们可以根据实际情况选择最适合的方法来处理文件名。以上是针对这个问题的一些常见方法和示例代码,在实际使用中,我们可以根据具体需求选择合适的方法来获取文件名和处理后缀。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。