import random
import string
def activation_code(id,length=10):
prefix = hex(int(id))[2:]+'M'
length = length-len(prefix)
chars = string.ascii_letters+string.digits
return prefix + ''.join([random.choice(chars)for i in range(length)])
def get_id(code):
return str(int(code.upper(),16))
if __name__=='__main__':
for i in range(10,500,35):
code = activation_code(i)
code_id = code.split('M')[0]
id = get_id(code_id)
print (code,id)
關(guān)鍵:隨機(jī)且唯一羊异,用數(shù)字和字母組合螟够,參考網(wǎng)上的寫法,就是用數(shù)字加分隔符加隨機(jī)字符串的形式漱贱,這樣寫可以保證唯一槐雾,前面的數(shù)字轉(zhuǎn)成16進(jìn)制,然后取0x后面的部分幅狮,再加一個(gè)分隔符募强,這樣存的時(shí)候可以直接找到,保證唯一崇摄,簡(jiǎn)單有效擎值。<p>join([random.choice(chars)for i in range(length)])這個(gè)看上去亂七八糟的參數(shù),是一個(gè)列表生成器逐抑。
list = glob.glob(r'*.txt')#匹配txt文件,*代表任意多字符
list = glob.glob(r'../*.py')#相對(duì)路徑命斧,匹配以python文件
list = glob.glob(r'?.py')#匹配文件名只有一個(gè)字符的python文件
list = glob.glob(r'[0-9].py')#匹配指定范圍的字符田晚,[0-9]匹配數(shù)字