web.py操作mysql的数据

1.db.upate 数据更新
http://webpy.org/cookbook/update.zh-cn
import web
db = web.database(dbn=’postgres’, db=’mydata’, user=’dbuser’, pw=”)
db.update(‘mytable’, where=”id = 10”, value1 = “foo”)
2.db.insert插入数据

代码示例:
import sys
reload(sys)
sys.setdefaultencoding(‘utf8’)
import web
import json
import time

sum = 0
path = “/XXX_jason.txt”#从mongdb导出的数据,以json的格式(key-value)存储
info = list()
rrh_Version = list()
rrh_SN = list()

class getPltfList(object):
def init(self):
self.db = web.database(dbn=’mysql’, db = ‘test’, user = ‘root’, pw= ”, host = ‘127.0.0.1’)
self.db.printing = True
def call(self):
return self.createPltfList()
def createPltfList(self):
self.pltfList = list(self.db.query(‘select instant_time, name, ip from EPISODE_INSTANT_INFO order by id DESC’))
return self.pltfList

if name == ‘main’ :
pltfList = getPltfList()()
db = web.database(dbn=’mysql’, db = ‘test’, user = ‘root’, pw= ”, host = ‘127.0.0.1’)

for line in open(path):
    line = str(line).replace("null","None")
    info = eval(line)#type:list

for record in info:
    Refresh_Time = record.get('Refresh_Time')
    Name = record.get('Cfg').get('Register_Name')
    IP = record.get('Cfg').get('Debug_IP')  

    if type(record.get('BB')) == dict:
        if type(record.get('BB').get('BB2')) == dict:
            CEM1_Uptime = record.get('BB').get('BB2').get('Uptime') 
            CEM1_Load = record.get('BB').get('BB2').get('Load_Average') 
            CEM1_CpuUsage = record.get('BB').get('BB2').get('CPU_Usage')    
            CEM1_MemUsage = record.get('BB').get('BB2').get('Mem_Usage')

    else:
        CEM1_Uptime = None
        CEM1_Load = None
        CEM1_CpuUsage = None
        CEM1_MemUsage = None

    # print 'IP'
    # print IP
    del RRH['RRH_List']
    rrh_Version =[]
    rrh_SN = []
    for rrh_list in RRH:
        rrh_Version.append(dict(RRH[rrh_list]).get('Version'))
        rrh_SN.append(dict(RRH[rrh_list]).get('Serial_Number'))
    RRH_Version = (' ').join(rrh_Version)#将list转换成str
    RRH_SN = (' ').join(rrh_SN)

    tmp = 1 
    flag = 1

    for pltf in pltfList:
        if Name == pltf['name'] and IP == pltf['ip']:
            flag = 1;
            print Name
            sum += 1
            Instant_time = str(pltf['instant_time'])
            # print type(str(Instant_time))
            mongo_time = time.strptime(Refresh_Time, '%Y-%m-%d %H:%M:%S')
            mysql_time = time.strptime(Instant_time, '%Y-%m-%d %H:%M:%S')
            if time.mktime(mongo_time) > time.mktime(mysql_time):#对时间戳进行比对,格式为2016-04-14 16:30:01
                tmp = 1;
                break
            break   
        else:
            tmp = 0
            flag = 0

    if tmp == 0 and flag == 0:
        db.insert('EPISODE_INSTANT_INFO',instant_time=Refresh_Time,name=Name, ip=IP)#插入数据
    elif tmp == 1 and flag == 1:
        db.update('EPISODE_INSTANT_INFO',where='ip=\'' + IP +'\'',instant_time=Refresh_Time)#更新数据
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值