import sys def _safe_print(s): print(s) def main(): try: _safe_print('test') _safe_print('hi') finally: sys.stdout.close() if __name__ == '__main__': try: main() except BrokenPipeError as exc: sys.exit(exc.errno)