文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

python -- 密码生成器

2023-01-31 06:45

关注

小Q:中庭地白树栖鸦,冷露无声湿桂花;今夜月明人尽望,不知秋思落谁家? 王建《十五夜望月》

两个密码生成代码实例

=============================================================

#!/usr/bin/python
#-*- coding:utf8 -*-
from random import randrange, sample
password_list = ['z','y','x','w','v','u','t','s','r','q','p','o','n','m','l','k','j','i','h','g','f','e','d','c','b','a',
'0','1','2','3','4','5','6','7','8','9',
'!','@','#','$','%','^','&','*','(',')','_','+','-','=',
'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'
]
leng=15
password = "".join(sample(password_list, leng)).replace(' ', '')
print(password)

import……               #导入模块里所有属性或方法。

from……import              #针对性的导入,也就是说导入模块里你想导入的属性或方法。


import os              #导入os模块里所有的属性和方法

from random import randint              #从random模块里仅仅导入 randint方法。

Python replace()方法

str.replace(old, new[, max])

#!/usr/bin/python

str = "this is string example....wow!!! this is really string";

print str.replace("is", "was");

print str.replace("is", "was", 3);

>>>>>>>>

thwas was string example....wow!!! thwas was really string

thwas was string example....wow!!! thwas is really string

join()函数

'sep'.join(seq)

参数说明

sep:分隔符。可以为空

seq:要连接的元素序列、字符串、元组、字典

上面的语法即:以sep作为分隔符,将seq所有的元素合并成一个新的字符串

返回值:返回一个以分隔符sep连接各个元素后生成的字符串

#########对序列进行操作(分别使用' '与':'作为分隔符)

 >>> seq1 = ['hello','good','boy','doiido']

>>> print ' '.join(seq1)

hello good boy doiido

>>> print ':'.join(seq1)

hello:good:boy:doiido

#########对字符串进行操作 

>>> seq2 = "hello good boy doiido"

>>> print ':'.join(seq2)

h:e:l:l:o: :g:o:o:d: :b:o:y: :d:o:i:i:d:o

##########对元组进行操作

>>> seq3 = ('hello','good','boy','doiido')

>>> print ':'.join(seq3)

hello:good:boy:doiido

##########对字典进行操作

>>> seq4 = {'hello':1,'good':2,'boy':3,'doiido':4}

>>> print ':'.join(seq4)

boy:good:doiido:hello

os.path.join()函数

语法:  os.path.join(path1[,path2[,......]])

返回值:将多个路径组合后返回

注:第一个绝对路径之前的参数将被忽略

#############合并目录

>>> import os

>>> os.path.join('/hello/','good/boy/','doiido')

'/hello/good/boy/doiido'

random模块重要函数

1 )、random() 返回0<=n<1之间的随机实数n;

2 )、choice(seq) 从序列seq中返回随机的元素;

3 )、getrandbits(n) 以长整型形式返回n个随机位;

4 )、shuffle(seq[, random]) 原地指定seq序列;

5 )、sample(seq, n) 从序列seq中选择n个随机且独立的元素;

=============================================================

import string,random
length=8
seedlower=string.lowercase
seeddigit=string.digits
seedupper=string.uppercase
pwd=pwdd=pwdl=pwdu=''
countl=random.randrange(1,length-1)
countu=random.randrange(1,length-countl)
countd=(length-countl-countu)
#生成随机的字符
for l in random.sample(seedlower,countl):
pwdl+=l
for u in random.sample(seedupper,countu):
pwdu+=u
for d in random.sample(seeddigit,countd):
pwdd+=d
#在随机位置出现随机的字符
seed=pwdl+pwdu+pwdd
shuffler=random.sample(seed,len(seed))
pwd="".join(shuffler)
print pwd

String模块中的常量:

string.digits:数字0~9

string.letters:所有字母(大小写)

string.lowercase:所有小写字母

string.printable:可打印字符的字符串

string.punctuation:所有标点

string.uppercase:所有大写字母


阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯