python twisted异步将数据导入到数据库中

from twisted.enterprise import adbapi
from twisted.internet import reactor

def creat_conn():
    # 数据库基本配置
    db_settings = dict(db='testdb', host='localhost',
                        port = 3306,user = 'root',passwd = 'pwd', charset='utf8')    
    db_conn = adbapi.ConnectionPool('MySQLdb', **db_settings)
    return db_conn
def go_insert(cursor, sql):
    # 对数据库进行插入操作,并不需要commit,twisted会自动commit
    try:
        with open('info_person.csv','r') as f:
            for line in f:
                values=tuple([s.strip() for s in line.split(',')])
                cursor.execute(sql,values)
    except Exception as e:
        print(e)
def handle_error(failure):
    # 打印错误
    if failure:
        print(failure)
def main():
    db_conn = creat_conn()
    insert_sql ='INSERT INTO testdb.test(c1,c2,c3,c4) VALUES (%s,%s,%s,%s)'
    query = db_conn.runInteraction(go_insert, insert_sql)
    query.addCallbacks(handle_error)
    reactor.callLater(4, reactor.stop)
    reactor.run()
if __name__ == '__main__':
    main()

  

转载于:https://www.cnblogs.com/mahailuo/p/11433947.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值