def stdout_or_open_file(arg): if arg == "-": return sys.stdout elif arg.startswith("++"): return tee.open(sys.stdout, files=[open(arg[2:], "a")]) elif arg.startswith("+="): return tee.open(sys.stdout, files=[open(arg[2:], "w")]) elif arg.startswith("+"): return open(arg[1:], "a") elif arg.startswith("="): return open(arg[1:], "w") else: return open(arg, "w")