2021-01-02 python 生成包含數(shù)字,大小寫(xiě)和特殊字符的字符串

需求如下:

生成包含數(shù)字,大小寫(xiě)和特殊字符的字符串,總長(zhǎng)度為8,數(shù)字,大小寫(xiě),特殊字符至少都要有一位

代碼如下

import random,string    #調(diào)用random、string模塊
 
def GenPass():
    src_digits = string.digits              #string_數(shù)字  '0123456789'
    src_uppercase = string.ascii_uppercase  #string_大寫(xiě)字母 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
    src_lowercase = string.ascii_lowercase  #string_小寫(xiě)字母 'abcdefghijklmnopqrstuvwxyz'
    src_special = string.punctuation        #string_特殊字符 '!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'
 
    #sample從序列中選擇n個(gè)隨機(jī)獨(dú)立的元素,返回列表
    num = random.sample(src_digits,1) #隨機(jī)取1位數(shù)字
    lower = random.sample(src_uppercase,1) #隨機(jī)取1位小寫(xiě)字母
    upper = random.sample(src_lowercase,1) #隨機(jī)取1位大寫(xiě)字母
    special = random.sample(src_special,1)  #隨機(jī)取1位大寫(xiě)字母特殊字符
    other = random.sample(string.ascii_letters+string.digits+string.punctuation,4) #隨機(jī)取4位
    # 生成字符串
    # print(num, lower, upper, special, other)
    pwd_list = num + lower + upper + special + other
    # shuffle將一個(gè)序列中的元素隨機(jī)打亂,打亂字符串
    random.shuffle(pwd_list)
    # 列表轉(zhuǎn)字符串
    password_str = ''.join(pwd_list)
    print(password_str)
 
 
GenPass()
 
 

生成字符串如下:

dFUJ3?]'

R\1'uC0+

RP*^8n30

隨機(jī)生成中文

python3

import random
print(chr(random.randint(0x4e00,0x9fa5)))

python2

# -*- coding:utf-8 -*-
import random
for i in range(100):
    print(unichr(random.randint(0x4e00,0x9fa5)))
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容