python中生成一個指定長度的隨機字符串實現示例


方法一:定義一個函數,參數為所要生成隨機字符串的長度。通過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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM