You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用f-string实现与str.format等价的文件名处理功能?

如何使用f-string实现与str.format等价的文件名处理功能?

嘿,这个转换其实超简单,核心思路和你原来用str.format的逻辑完全一致——先把文件名按下划线拆分,再把需要的部分拼接起来,只是换用f-string的语法而已~

首先理清楚原代码的逻辑:你通过filename.split('_')把文件名拆分成了一个字符串列表,然后用str.format按位置索引取对应元素拼接。换成f-string的话,我们可以先把拆分后的结果存到一个变量里,然后直接在f-string里引用列表的索引:

parts = filename.split('_')
final_name = f"{parts[0]}{parts[1]}{parts[2]}_{parts[4]}_new"

这样运行后,和你原来的代码效果完全一致,比如输入文件名2024_10_10_091530_xyz_new.txt,就能得到20241010_xyz_new。

如果你觉得直接写索引可读性不够好,还可以把拆分后的元素解包到具名变量里,代码会更清晰:

# 用下划线忽略不需要的第4个元素(091530),*_忽略后面的其他内容
year, month, day, _, code, *_ = filename.split('_')
final_name = f"{year}{month}{day}_{code}_new"

这种写法更直观,别人一看就知道每个部分对应的含义,维护起来也更方便~

备注:内容来源于stack exchange,提问作者BSachin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.14 16:25:26