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

如何将mainPath目录下的文件名按前缀数字进行升序排列

实现方案

你可以直接调用Python内置的sorted()函数,通过指定排序key提取文件名开头的数字作为排序依据即可,具体实现如下:

适配你场景的最简代码(文件名统一为「数字. 文件名」格式)

import os

# 先获取路径下的所有文件/文件夹名
file_list = os.listdir(mainPath)
# 按开头数字升序排序
sorted_file_list = sorted(file_list, key=lambda x: int(x.split('.')[0]))
  • 逻辑说明:x.split('.')[0]会将每个文件名按.分割后取第一部分,也就是开头的数字字符串,转为int类型后作为排序权重,完全符合你需要的01、02...09的排序效果,也不会出现10排在2前面的字符串排序错误问题。

兼容异常场景的代码

如果存在部分文件名不符合「数字.」开头的格式,希望将这些文件排到列表末尾,可以用下面的容错版本:

import os

def get_sort_key(filename):
    try:
        num_part = filename.split('.')[0]
        return int(num_part)
    except (ValueError, IndexError):
        # 格式不符合的文件统一返回无穷大,排到列表最后
        return float('inf')

file_list = os.listdir(mainPath)
sorted_file_list = sorted(file_list, key=get_sort_key)
  • 如果你只需要保留文件、过滤掉文件夹,可以在排序前加一步筛选:file_list = [f for f in os.listdir(mainPath) if os.path.isfile(os.path.join(mainPath, f))]

内容的提问来源于stack exchange,提问作者Maria Fernanda

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 18:36:04