Python随机生成指定长度字符串并保存到mysql中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python随机生成指定长度字符串并保存到mysql中相关的知识,希望对你有一定的参考价值。

    网上看到一个python练习题,要随机生成8位数的优惠券,并希望能保存到mysql数据库中。自己查资料写了下面的一段代码完成这个小作业
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#author qingmiao
import MySQLdb as mdb
import sys
import random,string

def random_code(code_length,code_long):
    i=1
    result = []
    while i<=code_length:
        salt = ''.join(random.sample(string.ascii_letters + string.digits, code_long))
        result.append(salt)
        i=i+1
    return result

def save_to_mysql(num_list):
    try:
        conn = mdb.connect("127.0.0.1", "root", "root", "test")
        cur = conn.cursor()
        conn.select_db('test')
        sql_to_create_table = 'create table if not exists active_code(active_code char(32))'
        cur.execute(sql_to_create_table)
        cur.executemany('insert into active_code values(%s)', num_list)
        conn.commit()
    except mdb.Error, e:
        print "Error %d: %s" % (e.args[0], e.args[1])
        sys.exit(1)
    finally:
        if conn:
            conn.close()

if __name__ == '__main__':
    code_num = random_code(10,8)
    save_to_mysql(code_num)

最后去数据库看一下数据插入效果:

mysql> select * from active_code;
+-------------+
| active_code |
+-------------+
| frOkEoDA    |
| zMabDOn0    |
| RjgKWCIb    |
| G18spXBx    |
| v8owJXyb    |
| iwFOBZx9    |
| hA1MCrin    |
| ErTNIxbO    |
| x2A1boGL    |
| beBLM3kI    |
+-------------+
10 rows in set (0.00 sec)
mysql>


以上是关于Python随机生成指定长度字符串并保存到mysql中的主要内容,如果未能解决你的问题,请参考以下文章

python生成随机长度字符串并写入文件

python生成随机长度字符串并写入文件

python中生成一个指定长度的随机字符串实现示例

python 如何生成 2 1 4 3 6 5 8 7。。。的指定长度的序列?

python 定义一个函数:能产生1-20之间指定的个数的随机数(随机数要求保存到列表中),参数是随机数的个数?

随机生成指定范围内的随机数,放在指定长度的数组内