Je suis la structure de fichier journal suivante. Je veux connaître le temps de réponse maximum et vouloir imprimer le fichier journal qui a le temps de réponse le plus élevé (R.T) en utilisant python 2.7.11.Manipulation du fichier journal en utilisant python
La structure de mon fichier journal:
00.00.00.000 - - [dd/mm/yyyy:hr:mm:se +0800] GET Url HTTP/1.1 200 dataconsumed 4.0(R.T) mainURL xxx/0.0 (x xxx 0.0; xx00) xx/00.00 (xx, xx xxx) /00.0.0000. xx/000.00
00.00.00.000 - - [dd/mm/yyyy:hr:mm:se +0800] GET Url HTTP/1.1 200 dataconsumed 6.0(R.T) mainURL xxx/0.0 (x xxx 0.0; xx00) xx/00.00 (xx, xx xxx) /00.0.0000. xx/000.00
00.00.00.000 - - [dd/mm/yyyy:hr:mm:se +0800] GET Url HTTP/1.1 200 dataconsumed 5.0(R.T) mainURL xxx/0.0 (x xxx 0.0; xx00) xx/00.00 (xx, xx xxx) /00.0.0000. xx/000.00
00.00.00.000 - - [dd/mm/yyyy:hr:mm:se +0800] GET Url HTTP/1.1 200 dataconsumed 8.0(R.T) mainURL xxx/0.0 (x xxx 0.0; xx00) xx/00.00 (xx, xx xxx) /00.0.0000. xx/000.00
00.00.00.000 - - [dd/mm/yyyy:hr:mm:se +0800] GET Url HTTP/1.1 200 dataconsumed 2.0(R.T) mainURL xxx/0.0 (x xxx 0.0; xx00) xx/00.00 (xx, xx xxx) /00.0.0000. xx/000.00
Code utilisé:
file =open(r"logfile.txt","r")
rts = []
for line in file:
line_array = line.split(" ")
rts.append(float(line_array[10]))
max_rt = max(rts)
print "Max R.T is :", max_rt
Sortie:
2.0
2.0
5.0
8.0
8.0
Requête
La boucle for exécute toutes les lignes et imprime le temps de réponse intermédiaire. Enfin, le temps de réponse le plus élevé est imprimé.
Aidez-moi !!
Pour imprimer seulement le temps de réponse le plus élevé
Pour imprimer l'intégralité du fichier journal ayant le temps de réponse le plus élevé.
Comment stocker chaque chaîne dans une DICTIONNAIRE et récupérer les données qui ont besoin, par exemple. (Si les données est spécifié .le code doit imprimer le temps de réponse le plus élevé)
1 2 3 4 5 6 7 8 9 10 11
00.00.00.000 - - [dd/mm/yyyy:hr:mm:se +0800] GET Url HTTP/1.1 200 dataconsumed 4.0(R.T) mainURL xxx/0.0 (x xxx 0.0; xx00) xx/00.00 (xx, xx xxx) /00.0.0000. xx/000.00
Votre code ne peut pas générer la sortie que vous décrivez. Vous obtiendrez un 'ValueError' d'essayer de convertir par exemple. '4,0 (R.T)' à un flotteur. S'il vous plaît fournir un (correctement indenté) MCVE - [mcve] – SiHa