因为要把上题的数据写入数据库,所以要在上题的代码里加上保存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。
