-3

我有一个目录,里面满是每 5 分钟生成一次的文件。当我在 cmd 提示符下执行 ls -l 时,我可以看到文件及其最后修改时间。

我需要以编程方式获取在最后 N 分钟内加盖时间戳的文件列表。怎么做?

4

2 回答 2

2

使用os.path.getmtimeos.path.getctime获取文件的修改/创建时间。

import os
import time

dirpath = '/path/to/dir'
past = time.time() - 2*60*60 # 2 hours
result = []
for p, ds, fs in os.walk(dirpath):
    for fn in fs:
        filepath = os.path.join(p, fn)
        if os.path.getmtime(filepath) >= past:
            result.append(filepath)
于 2014-01-03T02:43:54.187 回答
0

注意:falsetru 发布的答案从 dirpath 向下遍历所有子目录。要对特定目录执行此操作,在这种情况下为 dirpath,请使用

import os
import time

dirpath = '/path/to/dir'
past = time.time() - 2*60*60 # 2 hours
result = []
result = [ f for f in listdir(dirpath) if ((isfile(join(dirpath,f))) and (os.path.getmtime(join(dirpath,f)) >= past)) ]
于 2014-01-03T05:06:56.583 回答