【Python】模拟windows文件名排序

文章描述了一个Python函数custom_sort_key,它模仿Windows的排序规则,对文件名进行排序,考虑了特殊字符、数字、字母的顺序,适用于处理.bmp文件名列表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实现了一种模拟windows排序的python方法,其排序规则为:

  • 不处理浮点数
  • 特殊字符(如:&、$、# 等)排在数字和字母之前;
  • 数字优先于字母排序;
  • 数字是连着的整数,应该按照整数进行排序;
  • 小写字母排在大写字母前面;
  • 英文字符按字母表顺序排序;
def custom_sort_key(str_value):
    digital_res = ""
    digital_flag = False
    sort_list = []
    rank_value = []
    for c in str_value:
        c_ascii = ord(c)
        if c_ascii <= 57 and c_ascii >= 48:
            digital_flag = True
            digital_res += c
        else:
            if digital_flag:
                digital_res = int(digital_res)
                rank_value.append((1, digital_res))
                digital_res = ""
                digital_flag = False
            if c_ascii <= 47 or (c_ascii >= 58 and c_ascii <= 64) or (c_ascii >= 91 and c_ascii <=
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值