Python-アクティブコードを生成しMySQLに保存

2922 ワード

#  pymysql
import pymysql

#     
conn = pymysql.connect(user='root',password='password',database='test')
cursor = conn.cursor()
#   mysql  
cursor.execute('''create table if not exists actcode(
    id smallint primary key,
    code varchar(50) not null);
    ''')
cursor.execute('delete from actcode')
#    insert  
for i,_code in enumerate(codelist):
    cursor.execute('insert actcode(id,code) values (%s,"%s")'%(i,_code))
conn.commit()
cursor.close()
conn.close()


#  :200 16      、         
#  xxxx-xxxx-xxxx-xxxx
import random,string
CHRLIST=string.ascii_letters+string.digits
codelist=[]

def many_code(lens,n):   
    c=0
    while True:
        code=single_code(lens)
        if code in codelist:
            c=c
        else:
            codelist.append(code)
            c=c+1 
        if c==n:
            break
    print(len(codelist))
def single_code(lens):
    code=''
    for x in range(lens):
        i=random.randint(0,CHRLIST.__len__()-1)
        code+=CHRLIST[i]
    return '-'.join(code[i:i+4] for i in range(0,len(code),4))

#many_code(  ,     )
many_code(16,200)

まずpymysqlをインストールする必要があります.pip3 install pymysql注意してください.文の操作後はconn.commit()にします.