Написал небольшой скрипт для суммирования трафика с разных IP локальной сети, в результате выводиться сумма для всех найденных локальных адресов. А так же для каждого создается файл-отчет с подробной статистикой по серверам, куда лазил клиент. Все работает, хочу услышать можно ли мою программу переписать еще более в pythonic style. Я начинающий питонер, и вообще программист. Еще у меня вопрос по поводу обработки исключений, где почитать про хороший стиль в этом деле. Должна программа выпадать с ошибкой понятной пользователю при исключении или ей стоит продолжать пытаться работать любой ценой?
#!/usr/bin/python
# -*- coding: utf-8 -*-
fl = open('netflow.csv', 'r')
#файл такого вида
#94.100.189.32,443,192.168.10.4,1048,2104
clients = {}
for line in fl:
server, fromport, client, toport, amount = line.split(',')
if client in clients:
if server in clients[client]:
clients[client][server] += int(amount)
else:
clients[client][server] = int(amount)
else:
clients[client] = {}
clients[client][server] = int(amount)
fl.close()
for client in clients:
ofile = open('%s.csv' % client.replace('.','_'), 'w' )
osum = 0
alist = sorted(clients[client].iteritems(), key=lambda (k,v): (v,k), reverse=True)
for i in range(len(alist)):
ofile.write('%s,%d\n' % alist[i] )
osum += alist[i][1]
print client, osum
ofile.close()