Python分割字符串如何不返回列表 直接提取无后缀文件名
问题排查
split()是Python字符串的内置分割方法,执行后固定返回按分隔符拆分后的列表。你当前的代码仅完成了分割操作,直接把整个返回列表赋值给变量,因此拿到的是['Masterdata', 'xlsx']格式的列表,而非目标主文件名字符串。
正确实现方案
- 直接取split结果的首位元素
适配你当前的代码逻辑,仅需在split返回结果后加索引取第一个元素即可,写法最简单:
File_name = "Masterdata.xlsx" File_name = File_name.split(".", 1)[0] # 执行后File_name值为 "Masterdata"
注意:如果文件名本身包含.(比如Masterdata.2024.xlsx),这种写法只会返回第一个.之前的内容,可能不符合预期。
- 用标准库
os.path.splitext处理(兼容性最好)
Python标准库提供的专门用于拆分文件名与后缀的方法,不会被文件名内部的.干扰,适配绝大多数常规文件名场景:
import os File_name = "Masterdata.xlsx" File_name = os.path.splitext(File_name)[0] # 执行后File_name值为 "Masterdata" # 遇到"Masterdata.2024.xlsx"这类文件名,会正确返回"Masterdata.2024"
- 用
pathlib模块处理(Python3.4+推荐写法)
新版本Python内置的面向对象路径处理模块,直接通过属性获取不带后缀的文件名,代码可读性更高:
from pathlib import Path File_name = "Masterdata.xlsx" File_name = Path(File_name).stem # 执行后File_name值为 "Masterdata"
内容的提问来源于stack exchange,提问作者Prasanna Balaji
相关产品推荐
相关产品推荐

