利用python的string與random兩個庫,來生成一串由大小寫字母和!@#$%^&*八個特殊字元,還有數字隨機組合而成的隨機密碼。
所需要的函式有以下幾項:
random.sample(隨機獲取乙個片段)
string.ascii_letters(字母)與 string.digits(數字)
set.intersection(關於集合的操作)
with
python3 file
random.sample()的函式原型為:random.sample(sequence, k),從指定序列中隨機獲取指定長度的片斷。sample函式不會修改原有序列。
示例:
list =[1
,2,3
,4,5
,6,7
,8,9
,10] slice = random.
sample
(list,5)
print
(slice)
print
(list)
# filename : test.py
# author by : www.runoob.com
# 寫檔案
with
open
("test.txt"
,"wt"
)as out_file:
out_file.
write
("該文字會寫入到檔案中\n看到我了吧!"
)# read a file
with
open
("test.txt"
,"rt"
)as in_file:
text = in_file.
read()
print
(text)
輸出效果:
#儲存符合要求的密碼
special_str =
'!@#$%^&*'
count =
input
('請確認要生成幾條密碼: '
)i =
0 #記錄符合要求的密碼個數
while i <
int(count)
: passwd =
set(random.
sample
(string.ascii_letters + string.digits + special_str,10)
) #從字母和數字中隨機抽取10位生成密碼
if passwd.
intersection
(string.ascii_uppercase) and passwd.
intersection
(string.ascii_lowercase) and passwd.
intersection
(string.digits) and passwd.
intersection
(special_str)
: #判斷密碼中是否包含大小寫字母和數字
passwds.(''
.join
(passwd)
) #將集合轉化為字串
with
open
("隨機密碼.txt"
,"a+"
)as out_file: #寫入檔案
out_file.
write(''
.join
(passwd)
+"\n"
)
i +=
1 #每生成1個符合要求的密碼,i加1
(passwds)
txt檔案存放位置就是py指令碼所在的位置。
效果自己執行看看啦~
生成方法還有好多種,這裡只寫了最容易理解的一種
python生成隨機密碼
建立randpass.py指令碼,要求如下 編寫乙個能生成8位隨機密碼的程式 使用random的choice函式隨機取出字元 改進程式,使用者可以自己決定生成多少位的密碼 匯入random模組,通過random靜態物件呼叫choice 方法,從自定義字串all chs中獲取隨機項,將獲取到的隨機字元...
Python 隨機密碼生成
第一步 匯入 random 和 string 庫 匯入 random 和 string 庫 import random import string 第二步 設定變數 a 與變數 key 設定變數 a 與變數 key a string.ascii letters string.digits key 第...
生成隨機密碼
編寫乙個函式,用於生成隨機密碼,入參為隨機密碼的長度,出參為生成的隨機密碼,要求生成的隨機密碼必須同時包含大寫字母小寫字母數字。生成隨機碼,引數為隨機碼長度,同時包含大小寫字母和數字 public string getrandomnum int length listlist new arrayli...