python文件时间_python – 如何使用文件修改日期制作按时间顺序排列的文件列表...

在元组列表中收集文件和日期,并按日期元素对该列表进行排序.以下是示例代码,其中的注释应足以理解它:

from stat import S_ISREG,glob.glob(search_dir + "\\*.bas"))

file_date_tuple_list = []

for x in files:

d = os.path.getmtime(x)

#tuple with file and date,add it in a list

file_date_tuple = (x,d)

file_date_tuple_list.append(file_date_tuple)

#sort the tuple list by the second element which is the date

file_date_tuple_list.sort(key=lambda x: x[1])

或者,您可以使用列表推导来使代码更紧凑和干净……

file_date_tuple_list = [(x,os.path.getmtime(x)) for x in files]

file_date_tuple_list.sort(key=lambda x: x[1])

这两行将替换第一个示例中的所有for循环.

现在,如果列表中您想要的是带有文件名和日期格式的字符串,那么…添加此导入…

from datetime import date

以及具有此列表理解的另一行,它采用修改时间戳并将其格式化为字符串.

file_date_string_list = ["%s %s"%(x[0],date.fromtimestamp(x[1])) \

for x in file_date_tuple_list]

要反转排序顺序,请在排序执行中使用reverse参数:

file_date_tuple_list.sort(key=lambda x: x[1],reverse=True)

用于将日期限制为特定日期时间

from datetime import datetime

limit = datetime(2011,01,05,17,0) #5pm,Jun 5 2011

file_date_string_list = ["%s %s"%(x[0],date.fromtimestamp(x[1])) \

for x in file_date_tuple_list \

if datetime.fromtimestamp(x[1]) > limit ]

正如您所看到的,您可以在列表推导中添加if条件,这非常酷.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值