【python】数据库操作

开发一个模块create_app.py,并请你定义一个名为db_log的方法,该模块功能要求如下:

1. 调用该模块的方法,通过实例向该方法输入2个字符串实参 db_log( fullappname, username )
其中需要说明的是fullappname的结构大致如下:
包名-版本号-时间戳.后缀名
ebiz-mms-task-service-1.0.2-SNAPSHOT-201505121344.zip
cxb-service-2.0.0-201505121337.war
gubaoer-weixin-1.0.3-Release-201505120138.war

2. 截取其中的appname并把它放入一个testclass4数据库中的AppInfo表里,并且记录相应的状态。
Appinfo表结构
appname      ,varchar(200);
username , varchar(20);
result ,     varchar(10);
timeapplex, varchar(200);
}
也就是说每次调用db_log( fullappname, username ),都会在数据库中把正确的fullappname和结果记录在表中,如果匹配成功result为“Success”;如果没有匹配则为“Failed”

脚本如下:
#!/usr/bin/python
#coding:utf8
import re, MySQLdb

def db_log(fullappname,username):
    #匹配数据
    re_appname = re.compile(r"(\S+)-\d{1}\.\d{1}\.\d{1}")
    re_timeapplex = re.compile(r"-(\d{12})\.")

    appname = "".join(re_appname.findall(fullappname))
    timeapplex = "".join(re_timeapplex.findall(fullappname))
    if appname.strip()=='' or timeapplex.strip()=='':
        result='Failed'
    else:
        result='Success'

    #插入数据
    conn =MySQLdb.connect(host='192.168.70.148',user='root',passwd='1234!@#$qwer',db='testclass4',charset='utf8')
    cursor = conn.cursor()
    db_table = "create table if not exists AppInfo(appname varchar(200), username varchar(20), timeapplex varchar(200), result varchar(10))"
    cursor.execute(db_table)
    db_value = "insert into AppInfo(appname, username, timeapplex, result) values ('%s', '%s', '%s', '%s')" % (appname, username, timeapplex, result)
    cursor.execute(db_value)
    cursor.close()
    conn.close()

if __name__ == "__main__":
    db_log('cxb-service-201505121337.war','li.kelonsen')    
    db_log('1.0.2-SNAPSHOT-201505121344.zip','li.kelonsen')    
    db_log('gubaoer-weixin-1.0.3-Release.war','li.kelonsen')


你可能感兴趣的:(Python)