python随机生成字符串

2017-08-15  本文已影响0人  洛可可11

场景举例:新建存储空间,需要随机生成空间名称

空间名称命名规则:

1.只能包含小写字母,数字,中划线( - )和点( . ),但不能出现".-"、"-."及".."
2.空间名只能以小写字母开头且不能以"."或者"-"结束
3.空间名总长度必须在3-63位之间

小写字母:abcdefghijklmnopqrstuvwxyz
数字:0123456789
中划线:-
点:.

代码,需完善

不知道怎么把 . - 加入进去

import string
import random
i= 8 #变量定义字符串长度,可修改
#salt = ''.join(random.sample(string.letters + string.digits, i))#长度为8的,以字母开头数字字母混合的字符串
salt = ''.join(random.sample(string.letters, 5)) #长度为5的字符串
bucketname = salt.lower()#转换为小写
print salt
print bucketname
import random
import string
# 能出现 - .  但是不能保证一定符合条件
seed = "1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-."
sa = []
for i in range(8):
    sa.append(random.choice(seed))
salt = ''.join(sa)
print salt

String模块中的常量:

string.digits:数字0~9
string.letters:所有字母(大小写)
string.lowercase:所有小写字母
string.printable:可打印字符的字符串
string.punctuation:所有标点
string.uppercase:所有大写字母
上一篇下一篇

猜你喜欢

热点阅读