法1:
list =list(string.lowercase + string.uppercase) + [str(i) for i in range(10)]
FH=('!','@','#','$','%','&','_')
for f in FH:
list.append(f)
num = random.sample(list,10)
str=''
value= str.join(num)
if not value[0].isdigit():
print value
Python 有办法将任意值转为字符串:将它传入repr() 或str() 函数。 函数str() 用于将值转化为适于人阅读的形式,而repr() 转化为供解释器读取的形式 (如果没有等价的语法,则会发生SyntaxError 异常) 某对象没有适于人阅读的解释形式的话, str() 会返回与repr() 等同的值。很多类型,诸如数值或链表、字典这样的结构,针对各函数都有着统一的解读方式。 字符串和浮点数,有着独特的解读方式。 |
法2:
import random,string
def GenPassword(lenght):
numOfNum = random.randint(1,lenght-1)
numOfLetter = lenght - numOfNum
slcNum = [random.choice(string.digits) for i in range(numOfNum)]
slcLetter = [random.choice(string.ascii_letters) for i in range(numOfLetter)]
slcChar = slcNum + slcLetter
random.shuffle(slcChar)
genPwd = "".join([i for i in slcChar])
return genPwd
if __name__ == '__main__':
print GenPassword(6)
法3:
import random,string
def rand_str(num,lenght=7):
f=open('Activation_code.txt','wb')
for i in range(num):
chars = string.letters + string.digits
s = [random.choice(chars) for i in range(lenght)]
f.write("".join(s)+'
')
print 'Done!'
f.close()
if __name__ == '__main__':
rand_str(200)