【发布时间】:2018-01-30 12:53:02
【问题描述】:
我有一个日志文件,其中每一行都包含 IP 地址、访问时间和访问的 URL。我想统计每小时的访问次数。
访问数据的时间如下所示
[01/Jan/2017:14:15:45 +1000]
[01/Jan/2017:14:15:45 +1000]
[01/Jan/2017:15:16:05 +1000]
[01/Jan/2017:16:16:05 +1000]
我怎样才能改进它,这样我就不需要为每个小时设置变量和 if 语句了?
twoPM = 0
thrPM = 0
fouPM = 0
timeStamp = line.split('[')[1].split(']')[0]
formated_timeStamp = datetime.datetime.strptime(timeStamp,'%d/%b/%Y:%H:%M:%S %z').strftime('%H')
if formated_timeStamp == '14':
twoPM +=1
if formated_timeStamp == '15':
thrPM +=1
if formated_timeStamp == '16':
fouPM +=1
【问题讨论】:
-
从 Code Review 迁移而来,因为它几乎不能“工作”,本质上问题是要求重写代码。
标签: python python-3.x parsing logging