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


#!/usr/bin/python 
import MySQLdb 
import sys 
#导入python2.4-mysqldb模块,以提供操作mysql的接口 
sFileName=["cihui1.txt","cihui2.txt","cihui3.txt","cihui4.txt","cihui5+.txt"] 
#conn = MySQLdb.connect("localhost", db_user, db_pw ,"abc") 
try: 
       conn=MySQLdb.connect(host='localhost',user='root',passwd='myDBpass',db='abc',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 abc;") 
       cursor.execute("create database if not exists aaa CHARACTER SET gbk COLLATE gbk_bin;") 
       cursor.execute("use aaa;") 
       cursor.execute("drop table if exists ciHui;") 
       cursor.execute(""" 
          create table ciHui( 
                  id int primary key auto_increment not null, 
                  ciHui varchar(50) not null, 
                  Len tinyint not null, 
                  ciXing char(1), 
                  priority float default 1.0) 
                  TYPE=MyISAM, CHARACTER SET gbk COLLATE gbk_bin 
          ;""") 
       for sf in sFileName: 
               fileHandle=open(sf) 
               counter=1 
               for i in fileHandle: 
                      i=i.strip() 
                      s=i.split(" ") 
                      for ss in s: 
                             ss=ss.strip() 
                             try: 
                                    ss=unicode(ss,'gbk') 
                             except  UnicodeDecodeError: 
                                    print "UnicodeDecodeError" 
                                    continue               
                             except  IndexError: 
                                    print "IndexError" 
                                    #counter+=1 
                                    continue 
                             cursor.execute("""insert into cihui(cihui,Len) values(%s,%s)""",(ss,len(ss))) 
                             print  ss +" = "+str(len(ss)) 
                             conn.commit() 
                             counter+=1 
               print counter #插入的行数 
               fileHandle.close() 
except MySQLdb.Error, e: 
       print "error %d: %s" % (e.args[0], e.args[1]) 
print "Finished!" 
 
cursor.close() 
conn.close()