2012-07-21 116 views
2

可能重复:
python random string generation with upper case letters and digitsPython - 如何创建一个8字节的随机字符串?

我需要创建一个随机字符串,它是8个字节长的蟒蛇。

rand_string = ? 

我该怎么做?

感谢

+2

这是**不是**重复[python随机字符串生成大写字母和数字](http://stackoverflow.com/questions/2257441/python-random-string-generation-with-upper-区分字母和位)。这个问题想要一个随机的字符串,而另一个想要一个随机的字符串与有限的字符集。 – phihag 2012-07-21 15:29:57

回答

15
import os 
rand_string = os.urandom(8) 

将创建一个随机字符串,它是8个字符长。

+13

不,它会创建一个长度为8个字节的字符串。 “人物”是一个解释的问题。 – 2012-07-21 15:23:17

4

os.urandom准确地提供了这个接口。

如果你想使用random模块(用于确定性随机性,或者是因为该平台恰好没有实现os.urandom),你必须自己构建功能:

import random 
def randomBytes(n): 
    return bytearray(random.getrandbits(8) for i in range(n)) 

在Python 3.X ,您可以用bytes替代bytearray,但对于大多数用途而言,bytearray应该表现得像bytes对象。

相关问题