我希望将n 个随机字节作为字节数组或字节获取,同样os.urandom如此。
但是我需要能够设置一个随机种子,以便该值是可重现的。
def urandom_from_random(rng, length):
return bytes([rng.randint(0, 255) for i in range(length)])
import random
rng = random.Random(42)
data = urandom_from_random(rng, 120)
print(data)
Run Code Online (Sandbox Code Playgroud)
上面的脚本有效,但效率不高。
除了创建许多整数并将它们转换为字节之外,还有更直接的方法吗?
笔记:
小智 1
在代码开头使用种子:
import random
random.seed(7)
rng = random.Random(42)
data = urandom_from_random(rng, 120)
Run Code Online (Sandbox Code Playgroud)
只要您在种子中使用 7,您就拥有相同的随机选择。然后你可以将其更改为任何值。
| 归档时间: |
|
| 查看次数: |
2118 次 |
| 最近记录: |