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

Python:按规则排序列表中以fig开头的文件名

解决fig开头文件名的自定义排序问题

我之前也踩过这个坑——手里攒了240个以fig开头带编号的文件名,比如fig1-24-24-32、fig3-45-32-12这种,想把它们按fig1-xxx、fig2-xxx……的顺序排好,一开始试了print(glob.glob('fig*[1-241]*')),结果完全没达到预期,排序乱得一塌糊涂。

后来找到了个好用的解决方案,核心就是把文件名里的数字提取出来作为排序的依据,具体步骤很简单:

  • 先把所有fig开头的文件捞出来:
import glob
file_list = glob.glob('fig*')
  • 写个小函数用来提取排序用的数字键:
def get_sort_key(file_name):
    # 从文件名里抠出fig后面的第一个数字
    number = file_name.split('-')[0].replace('fig', '')
    return int(number)
  • 用这个键给文件列表排序:
sorted_files = sorted(file_list, key=get_sort_key)

这么处理之后,列表就会严格按照我们想要的fig1、fig2……的顺序排列啦,亲测有效!

内容的提问来源于stack exchange,提问作者Pierre Jardinet

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 04:26:23