如何在python中读取/ dev/random

sat*_*oru 8 python unix

我读了一本/dev/random类似于无限文件的书,但是当我设置以下代码来查看内容的样子时,它什么都不打印.

with open("/dev/random") as f:
    for i in xrange(10):
        print f.readline()
Run Code Online (Sandbox Code Playgroud)

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

Ray*_*ger 17

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

  • `os.urandom`在Linux系统上返回`/ dev/urandom`,一个不同的流(安全性较低,但更快). (2认同)

tri*_*eee 9

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


Mal*_*lio 7

with open("/dev/random", 'rb') as f:
    print repr(f.read(10))
Run Code Online (Sandbox Code Playgroud)