私は以下のログファイル構造です。私は最大応答時間を見つけたいと思うし、python 2.7.11を使って応答時間(R.T)が最も高いログファイルを印刷したい。Pythonを使ったログファイルの操作
私のログファイルの構造:
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
使用されるコード:
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
出力:
2.0
2.0
5.0
8.0
8.0
クエリ
forループはすべての行を実行しており、中間応答時間を出力しています。最高の応答時間が最後に表示されます。
助けてください!
は最高の応答時間を持つログファイル全体を印刷するには唯一の最高の応答時間
を印刷します。各辞書内のすべての文字列を格納し、例えば必要なデータを取得する方法を
。(データが指定されている場合.theのコードは最高の応答時間を印刷する必要があります)
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
あなたが記述した出力を得ることはできません。たとえば、「ValueError」を取得しようとします。 '4.0(R.T)'を浮動小数点に変換します。あなたの情報をお寄せいただきありがとうございます(正しくインデントされた)MCVE - [mcve] – SiHa