python 3 - 写一个自动生成密码文件的程序
Posted 成长园地
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 3 - 写一个自动生成密码文件的程序相关的知识,希望对你有一定的参考价值。
1、你输入几,文件里面就给你产生多少条密码
2、密码必须包括,大写字母、小写字母、数字、特殊字符
3、密码不能重复
4、密码都是随机产生的
5、密码长度6-11
import string,random
upperStr = string.ascii_uppercase
lowerStr = string.ascii_lowercase
digitStr = string.digits
specialStr = string.punctuation
allStr = upperStr+lowerStr+digitStr+specialStr #产生密码所需要的字符集
f = open(‘pwdFile.txt‘,‘w‘)
# 输入要产生密码的次数:
Num = int(input("please input the times:"))
for i in range(Num):
pwdLen = random.randint(6,11)
#print(pwdLen) # 随机生成密码的长度
# 密码必须包含的四个字符:大写字母,小写字母,数字,特殊字符
pwd1 = random.choice(upperStr) + random.choice(digitStr) + random.choice(lowerStr) + random.choice(specialStr)
pwdRan = random.sample(allStr,pwdLen-4) #除去4个字符外,随机从字符集中取出剩下所需要的字符
pwd2 = "".join(pwdRan)# 并将该List转化为字符串
pwd = pwd1+pwd2 # 最终生成的随机密码
f.write(pwd+‘\n‘) #将密码写入文件中
f.close()
生成结果:
M0h[6UZO
K2m~9I(+
P9g/#<Yn
O5u&")[email protected]
E6f;hVL
D7b>[email protected]$Y6
总结:
1.
pwdRan = random.sample(allStr,pwdLen-4) #除去4个字符外,随机从字符集中取出剩下所需要的字符
random.sample() 生成的是一个List,需要将该List转换为字符串,然后才可以和第一部分产生的密码拼接.
2.
pwd2 = "".join(pwdRan)# 并将该List转化为字符串
使用join方法将list 转化为string类型
以上是关于python 3 - 写一个自动生成密码文件的程序的主要内容,如果未能解决你的问题,请参考以下文章
python写一个密码生成器的类,要求有个类变量,统计一下一共生成过多少个密码。 要求有4个方法,1:构造方法 2 实例方法 3 类方法 4 静态方法