2 回答

TA貢獻(xiàn)2012條經(jīng)驗(yàn) 獲得超12個(gè)贊
這應(yīng)該可以解決問題,它具有幾個(gè)不錯(cuò)的額外功能,并且只需循環(huán)一次即可。
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以便您可以在選擇文件時(shí)使用通配符。如果您可以更具體地選擇要選擇的文件(例如,如果文件中包含日期戳,則可以節(jié)省時(shí)間)。
其次,我ctime在test函數(shù)中使用,但是您可以輕松使用mtime-上次修改時(shí)間。
最后,我是針對時(shí)間的,而不僅僅是針對日期的。
我不確定100%唯一的事情是這是否在所有時(shí)區(qū)都是安全的。在深入研究文檔以做出決定之前,您可能需要使用示例進(jìn)行檢查。
添加回答
舉報(bào)