Skip to content

Instantly share code, notes, and snippets.

@naoyat
Created October 15, 2012 12:06
Show Gist options
  • Save naoyat/3892127 to your computer and use it in GitHub Desktop.
Save naoyat/3892127 to your computer and use it in GitHub Desktop.
randpick: ファイルからn行をランダム抽出
#!/usr/bin/env python
# -*- coding: utf-8 -*-
'''
randpick: ファイルからn行をランダム抽出
(c)2012 naoya_t
usage: randpick <input-file> <count>
'''
import sys
import random
def main(argc, argv):
if argc == 3:
if argv[1] == '-':
iport = sys.stdin
else:
iport = open(argv[1], 'r')
count = int(argv[2])
buf = iport.readlines()
random.shuffle(buf)
for line in buf[:count]:
sys.stdout.write(line)
if iport != sys.stdin:
iport.close()
else:
print "usage: randpick <input-file> <count>"
if __name__ == "__main__":
main(len(sys.argv), sys.argv)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment