麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 操作系統 > 正文

python將日志導入數據庫代碼案例 3

2024-06-28 16:00:50
字體:
來源:轉載
供稿:網友

#!/usr/bin/env python

#-*-coding:utf-8-*-

#平臺收入日報

#****************************************使用說明****************************************************

# 內網測試通過命令行參數

# -d 指定統計時間

# -p 指定日志所在目錄

# -t 指定臨時文件存放目錄

# 示例如下:

# [ying@localhost tongji]$ ./channelincomeDaily.py -d 20141112 -p /home/zhaoying/log/ -t /home/zhaoying/tongji/

# 外網無需加參數,使用默認值

#****************************************使用說明****************************************************

import MySQLdb

import os, sys, re,string

import time, tarfile,getopt

optmap = {

                'dbuser' : 'haoren',

                'dbpass' : '123654',

                'dbhost' : '192.168.10.13',

                'dbport' : 3306,

                'dbname' : 'GHKMDB'

                 }

                 

def get_files(dir, pattern):

        res_file_list =[]

        if os.path.exists(dir):

                cur_file_list = os.listdir(dir)

                cur_file_list.sort()

                for file_name in cur_file_list:

                        if re.search(pattern, file_name):

                                res_file_list.append(file_name)

                return res_file_list

        else:

                return 'no'

def main():

        #外網環境默認參數

        cur_day = time.strftime("%Y%m%d", time.localtime(time.time()-86400))

        log_day = time.strftime('%y%m%d', time.localtime(time.mktime(time.strptime(cur_day, '%Y%m%d'))))

        logdirname = "/home/haoren/logdir/%s_67"%log_day

        tmpdirname = "/tmp/"

        logname = "billserver"

        #內網測試指定參數

        opts, args = getopt.getopt(sys.argv[1:], 'd:p:t:')

        for op, value in opts:

                if op == '-d':

                        m = re.search('[0-9]{8}', value)

                        if m:

                                cur_day = value

                                PRint cur_day

                                log_suffix = time.strftime('%y%m%d', time.localtime(time.mktime(time.strptime(cur_day, '%Y%m%d'))))

                                logname = "billserver.log"

                                log_day = time.strftime('%y%m%d', time.localtime(time.mktime(time.strptime(cur_day, '%Y%m%d'))))

                                logdirname = "/home/haoren/logdir/%s_67"%log_day

                        else:

                                print "請輸入8位日期(比如:20130215)"

                                return 'no'

                elif op == '-p':

                        logdirname = str(value)

                elif op == '-t':

                        tmpdirname = str(value)

        fmt_day = time.strftime('%Y-%m-%d', time.localtime(time.mktime(time.strptime(cur_day, '%Y%m%d'))))

        d_time = time.mktime(time.strptime(fmt_day,'%Y-%m-%d'))

        print '統計日期:',fmt_day

        print '日志名稱:',logname

        print '日志路徑:',logdirname

        print '臨時文本:',tmpdirname

        #平臺收入

        if os.path.exists("%schannelincome.txt"%tmpdirname):

                os.system("rm -f %schannelincome.txt"%tmpdirname)

        #平臺人民幣總量

        if os.path.exists("%schannelallgold.txt"%tmpdirname):

                os.system("rm -f %schannelallgold.txt"%tmpdirname)

        file_list=get_files(logdirname, logname)

        for file in file_list:

                command = "cat %s/%s | awk '/物品統計/'>> %schannelincome.txt"%(logdirname,file,tmpdirname)

                os.system(command)

                command = "cat %s/%s | awk '/平臺人民幣統計/'>> %schannelallgold.txt"%(logdirname,file,tmpdirname)

                os.system(command)

        #平臺收入

        filename='%schannelincome.txt'%tmpdirname

        a_file = open(filename, 'r')

        #平臺消耗用戶總人民幣

        allcoin={}

        #平臺人民幣收入

        goldincome={}

        #平臺總人民幣

        channelallgold = {}

        #平臺物品

        channelprops = {}

        #130815-15:01:06 Bill[990]  INFO: [物品統計]平臺(210043)等級(9)用戶(21000162)贈送(1)個物品(3)給歌唱家(21000264),歌唱家等級(1),簽約(0), 消耗人民幣(10), 歌唱家獲得人民幣(470), 平臺獲得人民幣(30)

        for a_line in a_file.readlines():

                m = re.search("^(/S+) Bill/[/d+/]  INFO: /[物品統計/]平臺/((/d+)/)等級/((/d+)/)用戶/((/d+)/)贈送/((/d+)/)個物品/((/d+)/)給歌唱家/((/d+)/),歌唱家等級/((/d+)/),簽約/((/d+)/), 消耗人民幣/((/d+)/), 歌唱家獲得人民幣/((/d+)/), 平臺獲得人民幣/((/d+)/)", a_line)

                if m:

                        channelid = int(m.group(2))

                        propnum = int(m.group(5))

                        propid = int(m.group(6))

                        signflag = int(m.group(9))

                        coin = int(m.group(10))

                        gold = int(m.group(12))

                        #離線用戶signflag傳入的是平臺號

                        if (signflag != 0 and signflag != 1):

                                if (signflag == int(m.group(2))):

                                        signflag = 1

                                else:

                                        signflag = 0

                        if (channelid in channelprops):

                                if (propid in channelprops[channelid]):

                                        channelprops[channelid][propid] += propnum

                                        allcoin[channelid][propid] += coin

                                        goldincome[channelid][propid][signflag] += gold

                                else:

                                        channelprops[channelid][propid] = propnum

                                        allcoin[channelid][propid] = coin

                                        goldincome[channelid][propid] = {}

                                        goldincome[channelid][propid][0] = 0

                                        goldincome[channelid][propid][1] = 0

                                        goldincome[channelid][propid][signflag] = gold

                        else:

                                channelprops[channelid]={}

                                channelprops[channelid][propid] = propnum

                                allcoin[channelid] = {}

                                allcoin[channelid][propid] = coin

                                goldincome[channelid]={}

                                goldincome[channelid][propid]={}

                                goldincome[channelid][propid][0]=0

                                goldincome[channelid][propid][1]=0

                                goldincome[channelid][propid][signflag]=int(m.group(12))

        for key in channelprops:

                print '平臺:',key

        a_file.close()

        #平臺總人民幣統計

        #平臺總人民幣

        filename='%schannelallgold.txt'%tmpdirname

        a_file = open(filename, 'r')

        #平臺總人民幣

        allgold={}

        #130816-15:28:45 Bill[990]  INFO: [平臺人民幣統計]平臺(210043)當前人民幣(308864653)

        for a_line in a_file.readlines():

                m = re.search("^(/S+) Bill/[/d+/]  INFO: /[平臺人民幣統計/]平臺/((/d+)/)當前人民幣/((/d+)/)", a_line)

                if m:

                        allgold[int(m.group(2))] = int(m.group(3))

        for key in allgold:

                print'平臺:%lu,人民幣總量:%u'%(key,allgold[key])

        a_file.close()

        db_conn = MySQLdb.connect(user=optmap['dbuser'], passwd=optmap['dbpass'], host=optmap['dbhost'], port=optmap['dbport'], db=optmap['dbname'])

        db_cursor=db_conn.cursor()

        db_conn.query("use %s"%optmap['dbname'])

        tabletime = time.strftime("%Y%m%d", time.localtime(time.mktime(time.strptime(cur_day, "%Y%m%d"))))

        sql="CREATE TABLE IF NOT EXISTS `CHANNELEARNINGDAILY_%s` like CHANNELEARNINGDAILY_SAMPLE"%tabletime

        db_conn.query(sql)

        db_conn.query("delete from CHANNELEARNINGDAILY_%s"%tabletime)

        for key in channelprops:

                if(key not in allgold):

                        allgold[key]=0

                for kitem in channelprops[key]:

                        db_conn.query("insert into CHANNELEARNINGDAILY_%s(CHANNELID,RECVITEMTOTALCOIN,SIGNGOLD,NONSIGNGOLD,CURGOLD,ITEMID,ITEMNUM ) values(%d,%d,%d,%d,%d,%d,%d)"%(tabletime,int(key),int(allcoin[key][kitem]),int(goldincome[key][kitem][1]),int(goldincome[key][kitem][0]),int(allgold[key]),int(kitem),int(channelprops[key][kitem])))

        db_conn.commit()

        db_cursor.close()

        db_conn.close()

main()

#if __name__ == "__main__":

#        main()


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 亚州精品在线视频 | 成人毛片在线免费看 | 77成人影院 | 国产成人精品区一区二区不卡 | 亚洲人成电影在线 | 色视频在线播放 | 午夜电影视频 | 国产99久久久久久免费看农村 | 大胆在线日本aⅴ免费视频 美国黄色毛片女人性生活片 | 欧美黄色大片免费观看 | 美国黄色小视频 | 亚洲欧美日韩在线 | 日本在线国产 | 日本一区二区高清不卡 | 精品无码一区在线观看 | 久久久久久艹 | 麻豆一二区 | 成人一级黄色片 | 欧美成人三级大全 | www.9191.com| 国产伊人色 | 哪里可以看免费的av | www.777含羞草 | 成人福利在线播放 | 国产成人精品自拍视频 | 成人午夜精品久久久久久久蜜臀 | 国产精品久久久乱弄 | 免费视频a | 免费一级a毛片在线播放视 日日草夜夜操 | 可以看逼的视频 | 色七七亚洲 | 久草视频国产在线 | 亚洲人成在线播放网站 | 成人444kkkk在线观看 | 337p日本欧洲亚洲大胆精蜜臀 | 免费看日产一区二区三区 | 毛片在线免费视频 | 色播一区 | 激情小说激情图片激情电影 | 亚洲成人久久精品 | 天天看逼 |