Python中如何用单行代码分割字符串提取无后缀的文件名
Python提取无后缀文件名的一行实现方案
可行的一行代码写法
- 纯字符串操作(无需导入额外模块)
代码:selstim.split('/')[-1].rsplit('.', 1)[0]
说明:先按/拆分路径取最后一段得到带后缀的文件名,再从右侧以.为分隔符仅拆分1次,取拆分后的第一个元素即可得到无后缀的文件名。该写法对文件名本身包含.的场景也适用,比如文件名为test.v2.jpg会返回test.v2。 - 标准路径处理写法(适配不同操作系统的路径格式)
代码:import os; os.path.splitext(os.path.basename(selstim))[0]
说明:os.path.basename会直接提取路径中的文件名部分,os.path.splitext会自动拆分文件名和后缀,返回值的第一个元素就是无后缀的文件名。
之前写法的错误原因
你尝试的selstim.split('/,.')不符合split方法的参数规则:split的入参是完整的分隔符串,不是多个可选分隔符的集合,只有当字符串中出现连续的/,.三个字符时才会触发拆分,自然无法得到预期结果。
内容的提问来源于stack exchange,提问作者arkadiy
相关产品推荐
相关产品推荐

