www.pudn.com > Vocabulary_python_mySQL.rar > pinyinB.py


#!/usr/bin/python 
import MySQLdb 
#import sys 
#导入python2.4-mysqldb模块,以提供操作mysql的接口 
dbname = "abcd"  
 
#conn = MySQLdb.connect("localhost", db_user, db_pw ,"abc") 
try: 
       conn = MySQLdb.connect(host='localhost',user='root',passwd='myDBpass',db='xpower',charset='gbk') 
except MySQLdb.Error, e: 
       print "error %d: %s" % (e.args[0], e.args[1]) 
       sys.exit(1) 
try: 
       cursor = conn.cursor() 
       #reload(sys) 
       #sys.setdefaultencoding('gbk') 
 
       cursor.execute("set names 'gbk'") 
       #cursor.execute("drop database %s;"% dbname) 
       cursor.execute("create database if not exists %s CHARACTER SET gbk COLLATE gbk_bin;" % dbname) 
       cursor.execute("use %s;" % dbname) 
       cursor.execute("drop table if exists pinYin;") 
       cursor.execute("""create table pinYin( 
          id int primary key auto_increment not null, 
          hanZi varchar(50) not null, 
          pinYin varchar(10) not null, 
          shengDiao tinyint default 1, 
          priority float default 1.0) 
          CHARACTER SET gbk COLLATE gbk_bin,TYPE=MyISAM 
          ;""") 
       
       f=open("d:\\cihui\\pinyin.txt") 
       counter=1 
       #sQuery="" 
       for i in f: 
              i=i.strip() #删除空格 
              s=i.split(" ") #分割字符串 
              #s=unicode(s,'gbk') 
              try: 
                     s[1]=unicode(s[1],'gbk') 
              except  UnicodeDecodeError: 
                     print "UnicodeDecodeError" 
                     continue               
              except  IndexError: 
                     print "IndexError" 
                     #counter+=1 
                     continue 
              #else: 
              #finally: 
                     #print "unicode error" 
              #sQuery+="insert into pinYin  (hanzi,pinYin) values(%s,%s);" % (s[1],s[0]) 
               
               
##              if counter>500: 
##                     cursor.execute("insert into pinYin  (hanzi,pinYin) values(%s,%s);",(s[1],s[0])) 
##                     #cursor.execute(sQuery,) 
##                     print s[0]+" = "+s[1] 
##                     conn.commit() 
              cursor.execute("insert into pinYin  (hanzi,pinYin) values(%s,%s);",(s[1],s[0])) 
              #cursor.execute(sQuery,) 
              print s[0]+" = "+s[1] 
              conn.commit() 
 
              #cursor.execute(sQuery) 
               
              #if counter==50: 
                     #counter=1 
       print counter 
except MySQLdb.Error, e: 
       print "error %d: %s" % (e.args[0], e.args[1]) 
        
print "Finished!" 
cursor.close() 
conn.close()