zoukankan      html  css  js  c++  java
  • 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()
    

      

  • 相关阅读:
    UVa 1374
    天梯赛L3 004
    redis操作ZSet
    redis操作set集合
    mybatis使用注解开发
    SSM整合之mybatis的别名配置
    mybatis的5.1.10分页插件的使用
    lombok的使用
    JDBC的一个简单工具类
    mybatis的测试
  • 原文地址:https://www.cnblogs.com/mahailuo/p/11433947.html
Copyright © 2011-2022 走看看