过滤具有模式和修改时间的文件

时间:2014-02-25 15:04:16

标签: python regex file filter

您好我使用以下代码列出上次修改时间目录中的文件

searchdir = args[0]

files = filter(os.path.isfile, os.listdir(searchdir)))
files = [os.path.join(searchdir, f) for f in files] 
files.sort(key=lambda x: os.path.getmtime(x))
print file 

我想只列出特定模式的文件以及最后修改时间 我怎样才能在上面的代码中获得特定的模式(文件名)搜索?我想要所有文件名为Mtuberc的文件?

示例文件:

streptococcous.log 
baccidius.log 
Mtuberc.log  
Mtuberc.log.1 
Mtuberc.log.16
Mtuberc.log.13

预期产出:

Mtuberc.log  
Mtuberc.log.1 
Mtuberc.log.16
Mtuberc.log.13

1 个答案:

答案 0 :(得分:0)

下面的代码查找与给定模式匹配的文件。使用的模式要求文件名以' Mtuberc.log'。

开头
import os
import re

searchdir = args[0]
pattern = re.compile(r'^Mtuberc\.log') # whatever you want to match
files = filter(os.path.isfile, os.listdir(searchdir))
files = [os.path.join(searchdir, f) for f in files if pattern.search(f)] 
files.sort(key=lambda x: os.path.getmtime(x))
print files
相关问题