Python学习:获取文件夹中最新的文件/文件夹

  • Post author:
  • Post category:python




获取最新修改文件

获取文件夹中,最新修改过的文件或者文件夹

import os
# 文件夹目录
path="D:\\pythonProject\\ICA_unittest\\result"

# 获取文件夹中所有的文件(名),以列表形式返货
lists=os.listdir(path)
print("未经处理的文件夹列表:\n %s \n"%lists )

# 按照key的关键字进行生序排列,lambda入参x作为lists列表的元素,获取文件最后的修改日期,
# 最后对lists以文件时间从小到大排序
lists.sort(key=lambda x:os.path.getmtime((path+"\\"+x)))

# 获取最新文件的绝对路径,列表中最后一个值,文件夹+文件名
file_new = os.path.join(path, lists[-1])
print("时间排序后的的文件夹列表:\n %s \n"%lists )

print("最新文件路径:\n%s"%file_new)



关于lambda的用法

lambda函数也叫匿名函数,即,函数没有具体的名称。

key=lambda fn:os.path.getmtime(test_dir+'\\'+fn)
#相当于
def key(fn):
    return os.path.getmtime(test_dir+'\\'+fn)



os.path.getmtime用法

os.path.getmtime与os.path.getctime的区别:

关于时间转换内容,请参看文章:

Python学习:python time模块之time.strftime()

import os
import time
# 文件夹路径
file='D:\\pythonProject\\ICA_unittest\\result\\a4ccf95f50ca47ae95fecb52c6594eb0.zip'

# 文件创建的时间,返回sec
create_time_s=os.path.getctime(file)
# 将返回的sec转换成一定格式的时间
create_time=time.strftime("%c",time.gmtime(create_time_s))

# 文件修改的时间,返回sec
edit_time_s=os.path.getmtime(file)
# 将返回的sec转换成一定格式的时间
edit_time=time.strftime("%c",time.gmtime(edit_time_s))

print(create_time)
print(edit_time)

文章参考:


Selenium + Python】之如何获取最新的报告以及os.path.getmtime与os.path.getctime的区别



版权声明:本文为sinat_37960022原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。