Python 练习册,每天一个小程序(0002)

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

# coding: utf-8

# 第 0002 题:将 0001 题生成的 200 个激活码(或者优惠券)保存到 MySQL 关系型数据库中。
import uuid
import MySQLdb


def generate_code(num):
    codes = []
    i = 0
    while True:
        code = str(uuid.uuid4()).replace('-', '')
        if code not in codes:
            codes.append(code)
            i += 1
        if i >= num:
            break
    return codes


def save_to_db(codes):
    conn = MySQLdb.Connect(host='127.0.0.1', port=3306, user='root', passwd='xushao', db='test')
    try:
        cursor = conn.cursor()
        sql = "insert into codes(id, code) values(%s, %s)"

        for i in range(len(codes)):
            cursor.execute(sql, (i, codes[i]))

        conn.commit()
        cursor.close()

    finally:
        conn.close()


if __name__ == "__main__":
    save_to_db(generate_code(200))


版权声明:本文为xushao_Movens原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。