淘先锋技术网

首页 1 2 3 4 5 6 7

简单产生随机字符串

如果不求随机字符串的安全性,可以简单实现如下:''.join(random.choice(string.ascii_uppercase + string.digits) for _ in range(N))

Python 3.6使用random.choices():''.join(random.choices(string.ascii_uppercase + string.digits, k=N))

安全产生随机字符串

如果对随机生成的字符串有安全性要求,可以使用random.SystemRandom():''.join(random.SystemRandom().choice(string.ascii_uppercase + string.digits) for _ in range(N))

定义为函数

可以把它们定义为一个函数:>>> import string

>>> import random

>>> def id_generator(size=6, chars=string.ascii_uppercase + string.digits):

... return ''.join(randomSystemRandom().choice(chars) for _ in range(size))

...

>>> id_generator()

'A5G74AF'

>>> id_generator(3, "8793PVIO")

'O9U'