方法一:定義一個函數,參數為所要生成隨機字符串的長度。通過random.randint(a, b)方法得到隨機數字,具體函數如下:
def generate_random_str(randomlength=16):
"""
生成一個指定長度的隨機字符串
"""
random_str = ''
base_str = 'ABCDEFGHIGKLMNOPQRSTUVWXYZabcdefghigklmnopqrstuvwxyz0123456789'
length = len(base_str) - 1
for i in range(randomlength):
random_str += base_str[random.randint(0, length)]
return random_str
f = generate_random_str(24) print (f)
得到結果:
gSY28gHCpTiL1yH0hO0uslM2
方法二:方法一中我們采用將數字及字母羅列出來,並從中隨機選擇的方法進行生成,顯得不夠pythonic,方法二中我們采用string模塊得到數字及字母,並通過列表生成式的方法得到結果。方法如下:
import random import string def generate_random_str(randomlength=16): """ 生成一個指定長度的隨機字符串,其中 string.digits=0123456789 string.ascii_letters=abcdefghigklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ """ str_list = [random.choice(string.digits + string.ascii_letters) for i in range(randomlength)] random_str = ''.join(str_list) return random_str
測試下:
f = generate_random_str(24) print (f)
得到結果:
aCIyZ9a06gN6UlBCmrjDfX4a
