2 回答

TA贡献2012条经验 获得超12个赞
这应该可以解决问题,它具有几个不错的额外功能,并且只需循环一次即可。
import calendar
from datetime import datetime
import os
import glob, os
mypath = "/Users/craigmj/"
timefmt = "%Y%m%d %H:%M:%S"
start = calendar.timegm(datetime.strptime("20130128 00:00:00", timefmt).timetuple())
end = calendar.timegm(datetime.strptime("20130601 00:00:00", timefmt).timetuple())
def test(f):
if (not os.path.isfile(f)):
return 0
(mode, ino, dev, nlink, uid, gid, size, atime, mtime, ctime) = os.stat(f)
return start<=ctime and end>=ctime
files = [f for f in glob.glob(os.path.join(mypath, "*")) if test(f)]
for f in files:
print(f)
首先,我使用,glob.glob以便您可以在选择文件时使用通配符。如果您可以更具体地选择要选择的文件(例如,如果文件中包含日期戳,则可以节省时间)。
其次,我ctime在test函数中使用,但是您可以轻松使用mtime-上次修改时间。
最后,我是针对时间的,而不仅仅是针对日期的。
我不确定100%唯一的事情是这是否在所有时区都是安全的。在深入研究文档以做出决定之前,您可能需要使用示例进行检查。
添加回答
举报