def main(argv=None):
<EOL>parser = argparse.ArgumentParser(<EOL>description="<STR_LIT>")<EOL>parser.add_argument('<STR_LIT:input>',<EOL>help='<STR_LIT>',<EOL>type=argparse.FileType('<STR_LIT:rb>'), nargs='<STR_LIT:*>',<EOL>default=[sys.stdin if PY2 else sys.stdin.buffer])<EOL>parser.add_argument('<STR_LIT>', action='<STR_LIT:version>',<EOL>version='<STR_LIT>'.format(__version__))<EOL>args = parser.parse_args(argv)<EOL>for f in args.input:<EOL><INDENT>if f.isatty():<EOL><INDENT>print("<STR_LIT>" +<EOL>"<STR_LIT>" +<EOL>"<STR_LIT>" +<EOL>"<STR_LIT>", file=sys.stderr)<EOL><DEDENT>print(description_of(f, f.name))<EOL><DEDENT>
Handles command line arguments and gets things started.

:param argv: List of arguments, as if specified on the command-line.
             If None, ``sys.argv[1:]`` is used instead.
:type argv: list of str