9

無限ファイルのような本を読みました/dev/randomが、次のコードを設定してコンテンツがどのように見えるかを確認すると、何も出力されません。

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

ところで、これを で試したところ/dev/urandom、うまくいきました。

4

3 に答える 3

18

FWIW、セミポータブルな方法でこのストリーム(またはそれに似たもの)にアクセスするための推奨される方法はos.urandom()です

于 2012-06-26T04:41:48.570 に答える
9

ランダムな行ではなく、ランダムなバイトを出力しています。改行を取得するまで何も表示されません。改行は平均で256バイトごとにのみ発生します。動作しているように見える理由/dev/urandomは、単に動作が速いからです。長く待つか、読む量を減らすか、を使用します/dev/urandom

于 2012-06-26T04:19:44.757 に答える
7
with open("/dev/random", 'rb') as f:
    print repr(f.read(10))
于 2012-06-26T04:12:13.273 に答える