如何在python中读取/ dev / random

时间:2012-06-26 04:06:02

标签: python unix

我在一本书中读到/dev/random就像一个无限的文件,但是当我设置以下代码来查看内容的样子时,它什么都不打印。

with open("/dev/random") as f:
    for i in xrange(10):
        print f.readline()

顺便说一句,当我用/dev/urandom尝试这个时,它起作用了。

3 个答案:

答案 0 :(得分:16)

FWIW,以半便携方式访问此流(或类似内容)的首选方式是 os.urandom()

答案 1 :(得分:9)

输出随机字节,而不是随机线。在得到换行符之前你什么也看不到,换行符平均每256个字节就会发生一次。 /dev/urandom似乎有效的原因只是它运行得更快。等待更长时间,少读,或使用/dev/urandom

答案 2 :(得分:6)

with open("/dev/random", 'rb') as f:
    print repr(f.read(10))