#!/usr/bin/env python #_*_ encoding: utf-8 _*_ ''' 注册统计相关功能 ''' __author__ = 'augustyang' import os,sys,time,datetime ###当前时间的几个小时内的 #now_times =time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())) #当前时间 #last_times=((datetime.datetime.now()-datetime.timedelta(minutes=60)).strftime("%Y-%m-%d %H:%M")) #前一个小时 last_times=sys.argv[1] now_times=sys.argv[2] #指定开始时间和结束时间 #last_times=str(datetime.datetime.strptime("2017-05-18 00:00:00",'%Y-%m-%d %H:%M:%S')) #开始时间 #now_times=str(datetime.datetime.strptime("2017-05-19 23:59:59",'%Y-%m-%d %H:%M:%S')) #结束时间 shebeitime=str(datetime.datetime.strptime("2017-05-17 00:00:00",'%Y-%m-%d %H:%M:%S')) #开服时间 t_log='tlog.log' #T_log文件名可以自己修改 result = [] result1 = [] result2 = [] result3=[] with open(t_log, 'rt') as f: for i in f: if i.startswith('GameSvrState'): registeredtime=i.split('|')[4] #注册时间 openid=i.split('|')[1] #用户OPENID logintime=i.split('|')[5] #登录时间 IMEI=i.split('|')[7] #新注册设备 if last_times <=logintime <=now_times: if len(openid)==1: #为空 continue #print openid#规定时间内的有openid的用户,没有去重 result.append(openid + ' ') if last_times <=registeredtime <=now_times: if len(openid)==1: #为空 continue result1.append(openid + ' ') if shebeitime <=logintime <=last_times: result2.append(IMEI + ' ') if shebeitime <=logintime <=now_times: result3.append(IMEI + ' ') #print last_times,'之间',now_times,'注册人数: ',len(list(set(result))) msg = "%s 到 %s qq登录人数: %s" % (last_times, now_times, len(list(set(result)))) msg1 = "%s 到 %s qq注册人数: %s" % (last_times, now_times, len(list(set(result1)))) msg2 = len(list(set(result2))) msg3 = len(list(set(result3))) msg4 = "%s 到 %s 新增设备: %s" % (last_times, now_times,(msg3 -msg2)) print msg print msg1 print msg4 #with open('result', 'wt') as f: # f.write(' ----------------------------------------------- ') # f.write(msg + ' ') # f.write(msg1 + ' ') # f.write(msg4+ ' ')