5

可能重复:
python 随机字符串生成与大写字母和数字

我需要在 python 中创建一个 8 字节长的随机字符串。

rand_string = ?

我怎么做?

谢谢

4

2 回答 2

23
import os
rand_string = os.urandom(8)

将创建一个 8 个字符长的随机字符串。

于 2012-07-21T15:21:47.760 回答
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为 just bytes,但在大多数情况下, abytearray应该表现得像一个bytes对象。

于 2012-07-21T15:26:16.073 回答