Нужно пропарсить файл.log

Уважаемые, нужна помощь. Есть файл с логами. Нужно узнать:

  1. Максимальное количество запросов от одного клиента?
  2. С какого IP адреса было сделано больше всего запросов?
  3. Минимальное количество запросов?
  4. Среднее количество запросов от одного клиента?
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               Среднее количество запросов от одного клиента.
→ Ссылка