Python - 如何创建一个 8 字节长的随机字符串? [复制]
Posted
技术标签:
【中文标题】Python - 如何创建一个 8 字节长的随机字符串? [复制]【英文标题】:Python - how to create a random string 8 bytes long? [duplicate] 【发布时间】:2012-07-20 13:22:24 【问题描述】:可能重复:python random string generation with upper case letters and digits
我需要在 python 中创建一个 8 字节长的随机字符串。
rand_string = ?
我该怎么做?
谢谢
【问题讨论】:
这不是与python random string generation with upper case letters and digits 的副本。这个问题想要一个随机字节串,而另一个问题想要一个具有有限字符集的随机字符串。 【参考方案1】: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
对象。
【讨论】:
【参考方案2】:import os
rand_string = os.urandom(8)
将创建一个 8 个字符长的随机字符串。
【讨论】:
不,它会创建一个 8 字节长的字符串。 “字符”是一个解释问题。以上是关于Python - 如何创建一个 8 字节长的随机字符串? [复制]的主要内容,如果未能解决你的问题,请参考以下文章