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>
时间: 2024-12-28 20:43:49

Python随机生成指定长度字符串并保存到mysql中的相关文章

将数字n转换为字符串并保存到s中

参考 C程序设计语言 #include <stdio.h> #include <string.h> //reverse函数: 倒置字符串s中各字符的位置 void reverse(char s[]){ int c,i,j; for(i=0,j=strlen(s)-1;i<j;i++,j--){ c=s[i], s[i]=s[j], s[j]=c; } } //itoa函数: 将数字n转换为字符串并保存到s中 void itoa(int n, char s[]){ int i,

随机生成指定长度的密码之---Random

随机生成指定长度的密码思路: 1.密码中可能包含字母,数字,特殊符号,为了区别分别定义常量 2.随机生成密码,自然想到要用到java.util.Random 类 3.定义一个带两个参数的方法,1跟2,分别指定密码内容类型和密码长度 具体实现过程: import java.util.Random;/** * @author * @date 创建时间: * @version 1.0 * @parameter * @since * @return */public class RandomChar {

VB.NET屏幕指定区域截图代码,保存到Image中

VB.NET屏幕指定区域截图代码,保存到Image中 使用VB.NET实现屏幕上指定位置的图像进行截图功能,保存到Image中 Dim texthwnd As IntPtr texthwnd = FindWindowEx(0, 0, vbNullString, "等待输入验证码") Dim pl As SwtPj.WINDOWPLACEMENT GetWindowPlacement(texthwnd, pl) Dim image As Bitmap = New Bitmap(119,

PHP session_set_save_handler将SESSION保存到Mysql中

将SESSION保存到mysql中 <?php /**  * SessionMysql 数据库存储类  */ defined('IN_QIAN') or exit('Access Denied'); class SessionMysql { public $lifetime = 1800; // 有效期,单位:秒(s),默认30分钟 public $db; public $table; /**  * 构造函数  */ public function __construct() { session

随机生成指定长度的数字+字符的密码

/// <summary> /// 生成随机数的种子 /// </summary> /// <returns></returns> private static int getNewSeed() { byte[] rndBytes = new byte[4]; System.Security.Cryptography.RNGCryptoServiceProvider rng = new System.Security.Cryptography.RNGCryp

4.java随机生成指定长度的字符串

//生成随机数字和字母, public static String getStringRandom(int length) { String val = ""; Random random = new Random(); //参数length,表示生成几位随机数 for(int i = 0; i < length; i++) { String charOrNum = random.nextInt(2) % 2 == 0 ? "char" : "num

Python--随机生成指定长度的密码

在浏览别人博客时学习了random模块,手痒自我练习下,写个随机生成指定长度的密码字符串的函数,拿出来供各位参考: 废话不多说,上代码: # coding: utf-8 import random import string SPECIAL_CHARS = '~%#%^&*' PASSWORD_CHARS = string.ascii_letters + string.digits + SPECIAL_CHARS def generate_random_password(password_len

随机得到指定长度的随机字符串,可以用于实现动态验证码

在开发过程中,可能需要得到指定长度的字符串,比如验证码就有这种需求,对此存在几种常见的方法,总结如下: 1.指定一个数组或者字符串,通过Math.random()得到一个随机数,并作为下表进行字符的获取,具体代码如下:. public String getRandomString2(Integer len){ char[] takeArr = {'0','1','2','3','4','5','6','7','8','9', 'A','B','C','D','E','F','G','H','I'

.NET(C#)生成指定长度的随机字符串的通用方法

.NET(C#)生成指定长度的随机字符串的通用方法,此方法可以指定字符串的长度,是否包含数字,是否包含符号,是否包含小写字母,是否包含大写字母等, 源码: 1 #region 生成指定长度的随机字符串 2 /// <summary> 3 /// 生成指定长度的随机字符串 4 /// </summary> 5 /// <param name="intLength">随机字符串长度</param> 6 /// <param name=&