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

如何让os.listdir返回的文件列表与图1的排序效果一致?

解决os.listdir排序不符需求的问题

如果os.listdir()返回的文件顺序和你想要的相反,直接反转列表就能得到目标效果:

import os

# 替换为你的目标目录路径
dir_path = "/path/to/your/directory"
# 获取默认排序的文件列表
file_list = os.listdir(dir_path)
# 反转列表得到所需顺序
target_order = file_list[::-1]

如果你的文件名包含数字,需要自然排序(比如file1.txt、file2.txt...file10.txt按数字递增排列,而非默认字符串排序的file1.txt、file10.txt、file2.txt),可以用以下方法:

方法1:使用第三方库natsort

先安装库:

pip install natsort

然后排序:

import os
from natsort import natsorted

dir_path = "/path/to/your/directory"
# 自然排序,reverse=False为正序,True为倒序
target_order = natsorted(os.listdir(dir_path), reverse=False)

方法2:自定义排序规则(无需第三方库)

import os
import re

def natural_sort_key(s):
    # 拆分字符串中的数字和非数字部分,数字转为整数用于排序
    return [int(part) if part.isdigit() else part.lower() for part in re.split('([0-9]+)', s)]

dir_path = "/path/to/your/directory"
# 按自定义规则排序,reverse参数控制正/倒序
target_order = sorted(os.listdir(dir_path), key=natural_sort_key, reverse=False)

内容的提问来源于stack exchange,提问作者Soon Yuan Chi 41013018E

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 06:11:00