Sep-28-2017, 06:02 PM
import sys def get_buffer_size(): buffer_size = 1 if len(sys.argv) > 1: buffer_size = abs(int(sys.argv[1])) return buffer_size def consume_input(buffer_size): buffer = [] head_sent = False for line in sys.stdin: buffer.append(line) if len(buffer) > buffer_size: if not head_sent: head_sent = True for line in buffer: print(line, end="") buffer = [] else: buffer.pop(0) if head_sent and buffer: print("-" * 78) for line in buffer: print(line, end="") if __name__ == "__main__": try: buffer_size = get_buffer_size() consume_input(buffer_size) except ValueError as err: print("Invalid buffer size. Any argument to this script should be a number.")
Output:E:\Projects\etc>pip help | headtail.py
Usage:
------------------------------------------------------------------------------
download. Implied with --no-index.
E:\Projects\etc>pip help | headtail.py -4
Usage:
pip <command> [options]
Commands:
------------------------------------------------------------------------------
--disable-pip-version-check
Don't periodically check PyPI to determine
whether a new version of pip is available for
download. Implied with --no-index.