J'écris un programme simple qui va analyser un fichier journal d'une sauvegarde de paquets de wireshark dans une forme plus lisible. Je fais ça avec python.Aide Python - Analyse des paquets de paquets
Actuellement, je suis bloqué sur cette partie:
for i in range(len(linelist)):
if '### SERVER' in linelist[i]:
#do server parsing stuff
packet = linelist[i:find("\n\n", i, len(linelist))]
est une liste Liste des lignes créée en utilisant la méthode readlines(), de sorte que chaque ligne du fichier est un élément dans la liste. Je suis itérer à travers lui pour toutes les occurrences de "### SERVER", puis en saisissant toutes les lignes après elle jusqu'à la ligne vide suivante (ce qui signifie la fin du paquet). Je dois faire quelque chose de mal, parce que non seulement find() ne fonctionne pas, mais j'ai le sentiment qu'il y a une meilleure façon de tout saisir entre ### SERVER et la prochaine occurrence d'une ligne vide.
Des idées?
Ce fut ma première pensée, aussi. Une version légèrement plus à jour de la même conversation est à http://www.dabeaz.com/generators-uk/. J'ai en fait eu * rêves * sur les pipelines de générateurs. (comment c'est bizarre?). –