用python遍历一个文件夹下的文件给出两个参数表示时间,如何挑选这两个时间段之间的文件

如题所述

listdir( path )列出当前path路径下的所有文件
getctime( file ) 得到file的创建时间(秒),另外getmtime得到文件的修改
gmttime( seconds ) 把getctime得到的秒数转换为一个gmtime结构体
datetime()构造日期函数,把gmtime结构体的内容穿进去,就得到了可比较时间的datetime对象
[ file for item,file in listdate if (starttime < item < endtime) ]
把满足 starttime < item < endtime 条件的文件选取出来就可以了。

from time import gmttime
from datetime import datetime
from os.path import getctime
form os import listdir

def listdir(path, starttime, endtime ):
if not isinstance(starttime, datetime)
raise TypeError
if not isinstance(endtime, datetime)
raise TypeError
if starttime > endtime:
starttime, endtime = endtime, starttime
listtime = [ (gmtime(getctime(file)),file) for file in listdir( path ) ]
listdate = ([datetime( t.tm_year, t.tm_mon, t.tm_mday, t.tm_hour, t.tm_min, t.tm_sec ),file) for t, file in listtime]
return [ file for item,file in listdate if (starttime < item < endtime) ]
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答