Python练习册第02题

因为要把上题的数据写入数据库,所以要在上题的代码里加上保存cdk到文件的功能

在生成cdk之后加上下面的代码,把生成的cdk按行保存在txt里

with open('cdk.txt', 'w') as file:
    for i in cdk:
        file.write(i)
        file.write('\n')

首先电脑里得安装了MySQL,正巧我之前练习MySQL时装过了
然后再安装MySQL用的模块pymysql,有些教程不适合Python3,因为在Python3中,只需要安装pymysql模块就能操作MySQL数据库了,不需要MySQLdb模块

pip3 install pymysql就行了

import pymysql

def readCDK():
    #读取保存的文件
    with open('cdk.txt','r') as file:
        #因为文件是按行分割的,用splitlines能自动按行分割字符串,存入列表
        cdk = file.read().splitlines()
    return cdk

if __name__ == '__main__':
    cdk = readCDK()
    #创建数据库连接
    db = pymysql.connect(host = 'localhost',    #数据库地址
                        user = 'root',          #用户名
                        password = '123',       #密码
                        port = 3306,            #端口,默认是3306,在配置文件中
                        database = 'test',      #使用test数据库
                        charset = 'utf8')       #字符集
    #创建数据库游标
    cursor = db.cursor()
    #如果表已存在则删除
    cursor.execute("drop table if exists cdk")
    #创建新表用的语句,就是数据库操作的命令
    sql = 'create table cdk(code char(30))'
    #执行该语句
    cursor.execute(sql)

    for i in cdk:
        #插入数据用的语句,注意valus()里面如果是字符串,要加引号
        sql = 'insert into cdk(code) values("' + i + '")'
        try:
            cursor.execute(sql)
            db.commit()
        except:
            db.rollback()
    #关闭游标和数据库
    cursor.close()
    db.close()

运行之前需要手动登录一次数据库,之后退出也没关系了!

在这里插入图片描述
运行完之后查询了一下,成功写入了200个cdk。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值