tilde-projects/Code/python/randomwords.py

30 lines
1.2 KiB
Python
Executable File

#!/usr/bin/python
import fileinput
import random
import sys
import argparse
parser = argparse.ArgumentParser(description='Print some random dictionary words.')
parser.add_argument('-d', dest='dictionary', metavar='DICT',
help='supply a dictionary', default='/usr/share/dict/american-english-large')
parser.add_argument('-c', dest='count', type=int,
help='specify how many words you want per line', default=10)
parser.add_argument('-l', dest='lines', type=int,
help='specify how many lines of random words you want', default=1)
parser.add_argument('--no-appos', action='store_true',
help='remove words with appostrophes')
parser.add_argument('--no-proper', action='store_true',
help='remove words that start with a capital letter')
args = parser.parse_args()
#print args
with open(args.dictionary, "r") as wordsfile:
words = wordsfile.readlines()
if(args.no_appos):
words[:] = [word for word in words if word.find('\'') == -1]
if(args.no_proper):
words[:] = [word for word in words if not word[0].isupper()]
for _ in range(0, args.lines):
print ' '.join([w.strip("\n") for w in random.sample(words, args.count)])