为了使用Python访问日志中的不同URL的第一次请求失败次数,我必须以这种方式创建defaultdict的defaultdict:
for index, line in enumerate(open(path+aFile)):
if int(str(data['%>s'])[0]) == 4 or int(str(data['%>s'])[0]) == 5:
apache_status_dict[data['%{Referer}i']][data['%r']] += 1
我使用apachelog解析器计算失败请求的数量:
for url in apache_status_dict:
for req in url:
<code...>
我正在处理的服务器安装了Python 2.6,无法更新它。那么有什么方法可以在我的代码中做出类似的东西:
2015/07/13 05:50:44 [error] 1371#0: *491517 access forbidden by rule, client: **.***.***.***, server: www.example.com, request: "POST /app/etc/local.xml HTTP/1.1", host: "www.example.com"
任何帮助或建议将不胜感激!
答案 0 :(得分:1)
您可以随时遍历defaultdict
个项目:
d = defaultdict(lambda: defaultdict(int))
for i in d.items():
# do something
答案 1 :(得分:1)
for url in apache_status_dict.keys():
for req in apache_status_dict[url]:
print apache_status_dict[url][req]