-2

stdinから、または通常は から行を読み取るスクリプトでtail -fは、stdout はこれらの行を特定の形式で出力したものです。これは次のコードです。

#!/usr/bin/python
import sys

if __name__ == "__main__":
    for line in sys.stdin:
         print line

これらの行が読み取ったパーセンテージのみを印刷する必要があります。たとえば、ランダムに 70% を印刷し、残りの 30% を破棄します。

これらの行のランダムな割合 (70% としましょう) を印刷するにはどうすればよいですか?

4

1 に答える 1

5

次のようなことができます。

#!/usr/bin/python

import sys
import random

if __name__ == "__main__":
    for line in sys.stdin:
        if random.random() < 0.70:
            print line

これにより、行の約 70% が印刷されます。線が多いほど、70% に近づきます。

于 2013-04-09T15:54:51.910 に答える