import argparse import subprocess import sys if __name__=='__main__': parser = argparse.ArgumentParser() parser.add_argument('prog') parser.add_argument('input') parser.add_argument('output') parser.add_argument('args', nargs='*') args = parser.parse_args() unescaped_args = [arg.strip('""') for arg in args.args] command = [args.prog] + unescaped_args with open(args.output, 'w') as out: with open(args.input, 'r') as in_: sys.exit(subprocess.run(command, stdin=in_, stdout=out).returncode)