zoukankan      html  css  js  c++  java
  • python-对目录下的文件按时间排序

    sorted 语法:

    sorted(iterable, key=None, reverse=False)

    参数说明:

    • iterable -- 可迭代对象。
    • key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
    • reverse -- 排序规则,reverse = True 降序 , reverse = False 升序(默认)

    1.按照时间来排序

    def get_file_list(file_path):
        dir_list = os.listdir(file_path)
        if not dir_list:
            return
        else:
            # 注意,这里使用lambda表达式,将文件按照最后修改时间顺序升序排列
            # os.path.getmtime() 函数是获取文件最后修改时间
            # os.path.getctime() 函数是获取文件最后创建时间
            dir_list = sorted(dir_list,key=lambda x: os.path.getmtime(os.path.join(file_path, x)))
            # print(dir_list)
            return dir_list

    2.获取最后修改时间的文件路径

    import os
    
    url='D:PycharmProjectsAmbulance_Apilogs'
    lists=os.listdir(url)
    print(lists)
    lists.sort(key=lambda fn: os.path.getmtime(url+'\'+fn))
    filepath=os.path.join(url,lists[-1])
    print(filepath)

    3.按照文件名字来排序

    1)用库函数sorted()对字符串排序,它的对象是字符
    2)用函数sort()对数字排序,它的对象是数字,如果读取文件的话,需要进行处理(把文件后缀名‘屏蔽’)

    import os
    
    img_path ='./img/'
    img_list =sorted(os.listdir(img_path))    #文件名按字母排序
    img_nums =len(img_list)
    for i in range(img_nums):
    img_name = img_path + img_list[i]
    print(img_name)

    注意:顺便提下,sort函数中用到了匿名函数(key = lambda x:int(x[:-4])),其作用是将后缀名'.jpg'“屏蔽”(因为‘.jpg’是4个字符,所以[:-4]的含义是从文件名开始到倒数第四个字符为止)

  • 相关阅读:
    golang闭包,传统斐波那契
    ubuntu 软件桌面图标创建
    Mysql系列-性能优化神器EXPLAIN使用介绍及分析
    Sklearn-GridSearchCV网格搜索
    sklearn逻辑回归(Logistic Regression)类库总结
    scikit-learn模块学习笔记(数据预处理模块preprocessing)
    Python中的高级数据结构
    Python进阶之“属性(property)”详解
    python模块之itertools
    python list有关remove的问题
  • 原文地址:https://www.cnblogs.com/lnd-blog/p/14755611.html
Copyright © 2011-2022 走看看