Skip to content

Instantly share code, notes, and snippets.

@choro3
Created October 1, 2013 19:15
Show Gist options
  • Save choro3/6783584 to your computer and use it in GitHub Desktop.
Save choro3/6783584 to your computer and use it in GitHub Desktop.
ランダムにn行出力
#!/usr/bin/env python
# coding: utf-8
import sys
import random
import argparse
def main(filename, linecount):
with open(filename, 'r') as f:
_l = sum(1 for _ in f)
f.seek(0)
pick = sorted(random.sample(range(_l), min(_l, linecount)))
last = 0
for idx, line in zip(xrange(_l), f):
if idx == pick[last]:
print line,
last += 1
if last >= linecount: break
if __name__ == '__main__':
parser = argparse.ArgumentParser()
parser.add_argument('filename')
parser.add_argument('-n', type=int)
args = parser.parse_args()
main(args.filename, args.n)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment