可能重复:
python random string generation with upper case letters and digits
我需要在python中创建一个长度为8个字节的随机字符串。
rand_string = ?
我该怎么做?
由于
答案 0 :(得分:21)
import os
rand_string = os.urandom(8)
会创建一个长度为8个字符的随机字符串。
答案 1 :(得分:5)
os.urandom
正好提供了这个界面。
如果你想使用random
模块(对于确定性随机性,或者因为平台碰巧没有实现os.urandom
),你必须自己构建这个函数:
import random
def randomBytes(n):
return bytearray(random.getrandbits(8) for i in range(n))
在Python 3.x中,您可以仅使用bytearray
替换bytes
,但在大多数情况下,bytearray
的行为应该与bytes
对象相同。