Я пишу простую программу, которая собирается проанализировать лог-файл дампа пакетов из wireshark в более читаемую форму. Я делаю это с питоном.
В настоящее время я застрял на этой части:
for i in range(len(linelist)):
if '### SERVER' in linelist[i]:
#do server parsing stuff
packet = linelist[i:find("\n\n", i, len(linelist))]
linelist - это список, созданный с использованием метода readlines (), поэтому каждая строка в файле является элементом списка. Я перебираю его для всех вхождений "### SERVER", а затем перебираю все строки после него до следующей пустой строки (которая обозначает конец пакета). Я, должно быть, что-то делаю не так, потому что не только find () не работает, но у меня есть ощущение, что есть лучший способ перехватить все между ### SERVER и следующим появлением пустой строки.
Есть идеи?