写入数据 python

#!/usr/bin/env python
#coding:gbk


import re
import sys
from MySQLdb import *
from glob import glob
import  cPickle as  pickle


threadsafety = 3
conn = connect("ip","uname","upwd","db")
tag = False
aaaid = 3520000
bbbid = 3520000

def mp3_query(sql,s=None):

  cur = cursors.DictCursor(conn)
  ix = 0

  try:
     ix = cur.execute(sql)
  except Exception,err:
      print  sql,err,"3"
      return

  if s == 1:
     data = cur.fetchall()
     cur.close()
     return data
  else:
     cur.close()
     return ix

 


def gs():
    global aaaid
    path = '/www/scripts/stat/mp3/test/zsc/artist2/artist_*'
    list = glob(path)       
      for z in list:
         gf = open(z,"r")
         l = pickle.load(gf)
         gf.close()
         if type(l) == list:
            for i in l:
                name = str_code(i["name"])
                if name:
                   sql = '''select * from mp3_artist_info where artistname="%s" ''' %(name)
                   data = mp3_query(sql,1)
                   sum = len(data)
                   intro = str_code(i['intro'])
                   img = i['img']
                   isi = intro and 1 or 0
                   if sum > 1 :
                      errors = "artistname:%s\tsum:%s\n" %(name,sum);
                      logfile = open('artist_data_more','a')
                      logfile.write(errors)
                      logfile.close()
                   elif sum == 1 :
                      artistid = data[0]["artistid"]
                      sql = '''update mp3_artist_info set imagepath = "%s",hasintro="%s" where artistid = "%s" limit 1''' %(img,isi,artistid)                                        
                      mp3_query(sql)
                      intro_data(intro,artistid)
                   else:
                      aaaid +=1
                      sql = '''insert into mp3_artist_info set artistid=%s,artistname="%s",imagepath="%s",hasintro="%s" ''' %(aaaid,name,img,isi)
                      mp3_query(sql)
                      intro_data(intro,aaaid)
                                          

def zj():
    global bbbid
    path = '/www/scripts/stat/mp3/test/zsc/album2/album_*'
    list = glob(path)
      for z in list:
        gf = open(z,"r")
        l = pickle.load(gf)
        gf.close()
        if type(l) == list :
           for i in l:
               name = str_code(i["name"])
               title = str_code(i["title"])
               if name and title:
                  sql = 'select * from mp3_artist_info where artistname="%s" limit 1' %(name)
                  tdata = mp3_query(sql,1i)
                  if len(tdata)>0:
                     artistid = tdata[0]["artistid"]
                     if artistid > 0:
                        sql = '''select * from mp3_album_info where albumname="%s" and artistid=%s ''' %(title,artistid)
                        mdata = mp3_query(sql,1)
                        sum = len(mdata)
                        img = i['img']
                        intro = str_code(i["intro"])
                        isi = intro and 1 : 0
                        dt = i['date']
                        if sum > 0 :
                           albumid = mdata[0]["albumid"]
                           sql = '''update mp3_album_info set imagepath = "%s",hasintro="%s",publishdate="%s" where albumid = "%s" limit 1''' %(img,isi,dt,albumid)
                           ix =  mp3_query(sql)
                           if ix:
                              intro_data(i['intro'],albumid,2)
                        else:
                           bbbid +=1
                           sql = '''insert into mp3_album_info set albumid=%s,artistid=%s,albumname="%s",imagepath="%s",hasintro="%s",publishdate="%s" ''' %(bbbid,artistid,title,img,isi,dt)
                           ix = mp3_query(sql)
                           if ix:
                              intro_data(intro,bbbid,2)

 


def intro_data(intro,qid,tp=1):
        if intro and qid>0 :
                sid = "%s" %qid
                i = sid[-1]
                if tp == 1:
                        tb1 = "mp3_artist_intro_%s" %i
                        tb2 = "mp3_artist_intro"
                        wid = "artistid"

                else:
                        tb1 = "mp3_album_intro_%s"  %i
                        tb2 = "mp3_album_intro"
                        wid = "albumid"

                create_table(tb1,tb2)

       
                sql = '''insert into %s set %s=%s,intro="%s" ''' %(tb1,wid,qid,intro)

                mp3_query(sql)
              

 

def str_code(s):
 if s:
    s = s.decode("gbk")
    s = re.escape(s)
    return name

 

def create_table(tb1,tb2):
  sql = "create table if not exists %s like %s;" %(tb1,tb2)
  mp3_query(sql)

 

zj2();

conn.close()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值