-1

在我的 ftp 服务器中包含一个日志文件记录所有下载记录,我想使用 Python 获取此文件并输出一个包含最近一周或 7 天记录的简化文件。/CliMb/xxx 中的 .. 等日志文件。

Sat Jun  2 03:32:13 2012 [pid 12461] CONNECT: Client "66.249.68.236"
Sat Jun  2 03:32:13 2012 [pid 12460] [ftp] OK LOGIN: Client "66.249.68.236", anon     password "gxxglxxxxt@google.com"
Sat Jun  2 03:32:14 2012 [pid 12462] [ftp] OK DOWNLOAD: Client "66.249.68.236",   "/pub/10.5524/100001_101000/100022/readme.txt", 451 bytes, 1.39Kbyte/sec
Sat Jun  2 03:32:22 2012 [pid 12677] CONNECT: Client "66.249.68.236"
Sat Jun  2 03:32:23 2012 [pid 12676] [ftp] OK LOGIN: Client "66.249.68.236", anon password "xxxxxbot@google.com"
Sat Jun  2 03:35:27 2012 [pid 12706] [ftp] FAIL DOWNLOAD: Client "66.2

谢谢。

4

1 回答 1

0
import time
lines = []
with open("somelog.txt") as f:
      lines = [line for line in f]
def OnlyRecent(line):
      return time.strptime(line.split("[")[0].strip(),"%a %b %d %h:%m:%s %Y") < (time.time()-(60*60*24*5)) #5 days old
print "\n".join(filter(OnlyRecent,lines))

至少是这样的……

于 2012-09-05T02:40:32.483 回答