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]的含义是从文件名开始到倒数第四个字符为止)

  • 相关阅读:
    JS LeetCode 1423. 可获得的最大点数简单题解
    SpringBoot 学集 (第六章) Docker
    Linux 学记 (第三章)
    Linux 学记 (第二章)
    Linux 学记 (第一章)
    SpringBoot 学集 (第五章) Web开发续
    SpringBoot 学集 (第四章)Web开发
    SpringBoot 学集 (第三章) 日志框架
    SpringBoot 学集 (第二章) 配置文件
    SpringBoot 学集 (第一章)
  • 原文地址:https://www.cnblogs.com/lnd-blog/p/14755611.html
Copyright © 2011-2022 走看看