clh899 发表于 2017-5-3 07:21:43

python脚本(自定义sort排序)

  自定义sort排序

#!/usr/bin/python
# -*- coding: utf-8 -*-
import logging
import sys
import Queue
import threading
import os
import time
#reload(sys)
#sys.setdefaultencoding('utf8')

def get_key_val_line(line):
info = line.split(" ")
remote_addr = info
end_time = time.mktime(time.strptime(info,'[%d/%b/%Y:%H:%M:%S'))
cost_time = info
method = info
request = info
status = info
body_bytes_sent = info
bytes_sent = info
ua = info
if status != "200" and status != "206":
return
#config
key = ":".join()
#key = ":".join()
#key = ":".join()
#val should not change
val =
return key, val

def tsort(a, b):
return int(a - b)
def get_speed_bytes(dlinfo):
dlinfo.sort(cmp = tsort)
total_bytes = 0
e,t = 0.0, 0.0
for i in dlinfo:
total_bytes += int(i)
if i <= e and i+i > e:
t += i - e
elif e < i:
t += i
if i + i > e:
e = i
if t == 0:
return t, total_bytes
return total_bytes/1024/t, total_bytes
if __name__ == '__main__':
d_total = {}
while True:
line = sys.stdin.readline()
if not line:break
try:
key, val = get_key_val_line(line.strip())
if not key:
continue
except:
continue
if d_total.has_key(key):
d_total.append(val)
else:
d_total =
sys.stdout.flush()
for k, v in d_total.items():
dl_speed, total_bytes = get_speed_bytes(v)
print "%.2f\t%d\t%s"%(dl_speed,total_bytes,k)
页: [1]
查看完整版本: python脚本(自定义sort排序)