Junior — Middle
60
Қуаныш әкелген немесе қызықты тапсырманың мысалын бөлісе аласыз ба?
AI-дан жауап
sobes.tech AI
Одна из задач, которая приносила мне удовольствие при решении на Python, была связана с обработкой и анализом больших объемов данных из логов сервера. Нужно было написать скрипт, который парсил логи, извлекал ключевые метрики и строил отчеты.
Интересно было оптимизировать обработку, чтобы скрипт работал быстро и эффективно, используя генераторы и встроенные библиотеки, такие как collections.Counter и itertools. Также я применял регулярные выражения для парсинга строк.
Пример простого кода для подсчета количества появлений IP-адресов в логе:
from collections import Counter
import re
ip_pattern = re.compile(r'\b(?:\d{1,3}\.){3}\d{1,3}\b')
with open('server.log') as f:
ips = (ip_pattern.search(line).group() for line in f if ip_pattern.search(line))
counts = Counter(ips)
for ip, count in counts.most_common(10):
print(f'{ip}: {count}')
Решение таких задач помогает лучше понимать работу с данными и развивает навыки оптимизации кода.