python文件名排序:“字符串+数字”形式的文件名称排序脚本

本文介绍了如何在Python中处理文件名列表,特别是那些以'字符串+数字'形式的文件名,以实现按数字顺序排序。在大数据处理场景中,有序地读取样本文件是必要的,而os.listdir()返回的文件名默认无序。分享了一段参考网络上的排序脚本,供学习交流。

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

当我们使用os.listdir(rootDir)获得该文件夹下所有文件名称后,会发现其是乱序的,而在大数据处理过程中,我们往往希望可以按照顺序将样本输入进我们的系统。因此需要对包含文件名的list进行排序。

下面是对“字符串+数字”形式的文件名称进行排序的脚本,参考了网络上诸多写法。保存仅供学习交流!

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Thu Feb 28 20:01:00 2019
基于字符串数字混合排序的Python脚本
@author: youxinlin
"""

def is_number(s):
    try:
        float(s)
        return True
    except ValueError:
        pass

    try:
        import unicodedata
        unicodedata.numeric(s)
        return True
    except (TypeError, ValueError):
        pass

    return False


def find_continuous_num(astr, c):

    num = ''
    try:
        while not is_number(astr[c]) and c < len(astr):
            c += 1
        while is_number(astr[c]) and c < len(astr):
            num += astr[c]
            c += 1
    e
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值