python随机生成字符串学习
所用到的函数学习
string模块的三个函数
>>> import string
>>> string.letters
'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'
>>> string.digits
'0123456789'
>>> string.printable
'0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~ \t\n\r\x0b\x0c'
>>>
random模块的choice函数
random.choice从序列中获取一个随机元素。其函数原型为:random.choice(sequence)。参数sequence表示一个有序类型。这里要说明 一下:sequence在python不是一种特定的类型,而是泛指一系列的类型。list, tuple, 字符串都属于sequence。有关sequence可以查看Python手册数据模型这一章。下面是使用choice的一些例子:
>>> print random.choice("学习Python")
h
>>> print random.choice(["JGood", "is", "a", "handsome", "boy"])
JGood
>>> print random.choice(("Tuple", "List", "Dict"))
Dict
join函数
python join用来连接字符串
>>> li = ['my','name','is','bob']
>>> ' '.join(li)
'my name is bob'
>>> '_'.join(li)
'my_name_is_bob'
>>> ''.join(li)
'mynameisbob'
>>>
随机生成密码
#-*- coding:utf-8 -*-
'''
简短地生成随机密码,包括大小写字母、数字,可以指定密码长度
'''
#生成随机密码
import random
import string
#python3中为string.ascii_letters,而python2下则可以使用string.letters和string.ascii_letters
def GenPassword(length):
chars=string.ascii_letters+string.digits
return ''.join([random.choice(chars) for i in range(length)])#得出的结果中字符会有重复的
#return ''.join(random.sample(chars, 15))#得出的结果中字符不会有重复的
if __name__=="__main__":
#生成10个随机密码
for i in range(10):
#密码的长度为15
print GenPassword(15)
相关文章