Python 练习册,每天一个小程序 -- 0002题
2015-12-25 17:02
751 查看
有段时间没写博客了,继续写练习题
第 0002 题:将 0001 题生成的 200 个激活码(或者优惠券)保存到 MySQL 关系型数据库中。
分析问题:
由于是要把数据保存到mysql中,这里就需要用到MySQLdb模块,并且先生成再存入,
注意:
1 这里操作MySQL的时候,先写入一条,获得id,然后再更新该条记录。
2 创建的验证码的格式为---'16进制的sql_id' + 'L' + 随机码
上代码:
备注:
这个代码的思路是借鉴的别人的,写的不错。 http://linsir.org/post/Creat-the-unique-activation-code-with-python
本文出自 “一个奋斗的小运维” 博客,请务必保留此出处http://yucanghai.blog.51cto.com/5260262/1728344
第 0002 题:将 0001 题生成的 200 个激活码(或者优惠券)保存到 MySQL 关系型数据库中。
分析问题:
由于是要把数据保存到mysql中,这里就需要用到MySQLdb模块,并且先生成再存入,
注意:
1 这里操作MySQL的时候,先写入一条,获得id,然后再更新该条记录。
2 创建的验证码的格式为---'16进制的sql_id' + 'L' + 随机码
上代码:
#!/usr/bin/env python # -*- coding: utf-8 -*- import MySQLdb import datetime import random import string def opt_mysql(num): conn = MySQLdb.connect(user='root',passwd='ssp123',port=3306,charset="utf8",db='python') cur = conn.cursor() drop_table = '''DROP TABLE IF EXISTS lol_code''' cur.execute(drop_table) create_table = ''' CREATE TABLE lol_code( id INT PRIMARY KEY NOT NULL AUTO_INCREMENT, codes VARCHAR(64) NOT NULL , create_time VARCHAR(64) NOT NULL ); ''' cur.execute(create_table) for i in range(num): create_time = datetime.datetime.now() insert_table = '''INSERT INTO lol_code(codes,create_time) VALUES('TestCode','%s')'''%create_time cur.execute(insert_table) id = conn.insert_id() #conn.insert_id()一定要在conn.commit()之前,否则会返回0 code = create_code(id) update_table ='''UPDATE lol_code SET codes = '%s' WHERE id = %s'''%(code,id) cur.execute(update_table) conn.commit() cur.close() conn.close() def create_code(id,length=15): code = hex(int(id))+'L' length_rdm = length - len(code) random_num = ''.join(random.sample(string.letters+string.digits,length_rdm)) return code+random_num if __name__ == '__main__': opt_mysql(300)
备注:
这个代码的思路是借鉴的别人的,写的不错。 http://linsir.org/post/Creat-the-unique-activation-code-with-python
本文出自 “一个奋斗的小运维” 博客,请务必保留此出处http://yucanghai.blog.51cto.com/5260262/1728344
相关文章推荐
- 零基础入门学习Python(20):对象(5)类和对象的内置函数
- Python @classmethod&@staticmethod 区别
- python Json
- splinter webdriver API 的基本实现
- 通过Python调用OpenStack 的RESTful API
- 下载Python库win32com的地址
- python time模块
- python知识收集
- python 序列化
- 笨方法学Python(1-5)
- python入门之数据类型
- Python -- 两个列表的差集、并集和交集
- python知识-本地获取数据
- python version 2.7 required,which was not found in the registry
- 一段代码让你学会Python (借鉴)
- 2016马哥教育--Python3.0实战培训班重磅来袭
- Python标准库01 正则表达式 (re包)
- Python操作MySQL数据库
- python面试题
- 找零钱之美分 python