import time import random from sys import stdout import argparse ap = argparse.ArgumentParser() ap.add_argument("-b-min", type=int, help="burst minimum", default=1) ap.add_argument("-b-max", type=int, help="burst maximum", default=20) ap.add_argument("-d-min", type=int, help="sleep minimum ms", default=0) ap.add_argument("-d-max", type=int, help="sleep maximum ms", default=3000) ap.add_argument("-between", type=int, help="between maximum ms", default=1000) ap.add_argument("-n", type=int, help="max to gen", default=14) args = ap.parse_args() random.seed(int(1000*time.time())) def new_burst(): return random.randint(args.b_min, args.b_max) def new_between(): return random.randint(0, args.between) / 1000.0 def new_delay(): return random.randint(args.d_min, args.d_max) / 1000.0 burst = new_burst() while True: line = random.randint(0, args.n-1) if burst: print(line, file=stdout) stdout.flush() time.sleep(new_between()) burst -= 1 if not burst: time.sleep(new_delay()) burst = new_burst()