#生成自定义数量由大小写字母与数字随机组成的号码/激活码,然后存入mysql数据库
import random
import string
import MySQLdb
#获取号码
def GenKey(length):     #length为号码长度
    chars = string.ascii_letters + string.digits    #string.ascii.letters是26个英文字母的大小写[a-z A-Z],string.digits为[0-9]相加作为字典
    return ''.join([random.choice(chars) for i in range(length)])
    #拿出chars内的一个字符并重复进行length次,将得到的字符与空字符串相加,得到长度为length的号码
#保存号码
def SaveKey(content):
    f = open('Result Key.txt', 'a')
    #打开Result Key.txt,a表示“打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。”

    f.write(content)
    #写入一个content,此处为号码

    f.write('\n')
    #换行
    f.close()
    #关闭
#保存至mysql数据库
def save_sql(code_nu):
    host = ("localhost")
    user = ("root")
    pass_ = ("123456")
    db = ("sqlforpy")
    #建立连接
    connect = MySQLdb.connect(host,user,pass_,db)
    #使用cursor()方法获取操作游标 (在操作游标中才可进行数据库操作
    cursor = connect.cursor()
    #使用insert into进行插入数据
    sql = "insert into code(code)VALUES('%s')" % code_nu
    #执行sql语句
    cursor.execute(sql)
    #使用commit提交到数据库执行保存
    connect.commit()
    #关闭连接
    connect.close()
if __name__ == '__main__':
    length=int(input("\n请输入需要的号码个数:"))
    for i in range(length):
        value = GenKey(20)
        print (value)
        #SaveKey(value)
        save_sql(value)