生成随机字符串
from random import Random
def random_str(randomlength=8):
str = ''
chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'
length = len(chars) - 1
random = Random()
for i in range(randomlength):
str += chars[random.randint(0, length)]
return str
但是这种方法不适用于特别长的字符串,以为 str 在 python 中是不可变对象,每一次构造都要耗费时间。
- 另外一种简短的方式
''.join(random.choice(string.ascii_uppercase + string.digits + string.ascii_lowercase) for _ in range(N))
# N 为随机数位数
写成函数:
import random
import string
def id_generator(size=6, chars=string.ascii_uppercase
+ string.digits
+ string.ascii_lowercase)
return ''.join(random.choice(
string.ascii_uppercase
+ string.digits
+ string.ascii_lowercase
)for _ in range(N)
)
id_generator()










网友评论