Python3.6 20个入门级小程序(三)

Python3.6 20个小程序入门(三)

需求:将(第二题中)生成的 200 个激活码(或者优惠券)保存到 MySQL 关系型数据库中。

分析:第二题中使用uuid生成了128位的唯一编码,但是这种编码在客户输入时及其繁琐,目前社会上常使用6位——8位的激活码是怎么做的呢?其实很简单,首先通过标准库string生成包含0~9,a~z,A~Z的一个字符串,然后使用标准库中随机选取的功能即可完成。另外互联网上这道题的解决中出现MySQLdb三方库,可是我使用的是Python3.6查询资料发现MySQLdb只支持到2.*。因此不能使用它,Python3提供了替换的方案——pymysql三方库可以满足需求。

安装pymysql

pip install pymysql

源代码:

#-*- coding:utf-8-*-

#生成邀请码功能
import pymysql
import string,random

def generateCode(n):
    r=[]
    s=string.digits+string.ascii_letters
    for i in range(200):
        t=''
        for j in range(n):
            t+=random.choice(s)
        r.append(t)
    return r

#存入mysql数据库功能
conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='dan81dan', db='pythontest', charset='utf8')
cursor = conn.cursor()
r = generateCode(8)
sql = "INSERT INTO `code1` (`id`,`code`) VALUES(%s,%s)"
for i in range(200):
    cursor.execute(sql,(i+1,r[i]))
conn.commit()
cursor.close()
conn.close()

本代码中关于数据库插入的代码中

sql = "INSERT INTO `code1` (`id`,`code`) VALUES(%s,%s)"
坑:code1 、id 、code上边不是单引号而是撇(数字1左边那个按钮)

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值