列出在Python中过去两小时内加上时间戳的文件

时间:2014-01-03 02:37:31

标签: python windows python-2.7 timestamp filemtime

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

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

2 个答案:

答案 0 :(得分: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)

答案 1 :(得分: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)) ]