Нужно пропарсить файл.log
Уважаемые, нужна помощь. Есть файл с логами. Нужно узнать:
- Максимальное количество запросов от одного клиента?
- С какого IP адреса было сделано больше всего запросов?
- Минимальное количество запросов?
- Среднее количество запросов от одного клиента?
import collections
user = 'users.log'
fp = open(user)
file_lines = fp.readlines()
fp.close()
counter = collections.Counter()
lenCounter = len(counter)
for line in file_lines:
words = line.split()
words_first = words[0]
counter[words_first] += 1
.log файл - https://drive.google.com/file/d/1ZFcBSSbCqlnidqtz6EJJlm1VRzigM69C/view?usp=sharing
Ответы (1 шт):
Автор решения: MiniMax
→ Ссылка
from collections import Counter
with open("users.log") as infile:
cntr = Counter(map(lambda line: line.split()[0], infile))
max_cnt, *_, min_cnt = cntr.most_common()
avg = sum(cntr.values()) / len(cntr)
print(
f"{max_cnt[1]:<20}Максимальное количество запросов от одного клиента.",
f"{max_cnt[0]:<20}С какого IP адреса было сделано больше всего запросов.",
f"{min_cnt[1]:<20}Минимальное количество запросов.",
f"{avg:<20.2f}Среднее количество запросов от одного клиента.",
sep='\n'
)
Output
1733 Максимальное количество запросов от одного клиента.
23.101.169.3 С какого IP адреса было сделано больше всего запросов.
1 Минимальное количество запросов.
14.14 Среднее количество запросов от одного клиента.