'Perform argument processing and other setup for a CSVKitUtility.'

def __init__(self, args=None, output_file=None):

    self._init_common_parser()
    self.add_arguments()
    self.args = self.argparser.parse_args(args)
    if (output_file is None):
        self.output_file = sys.stdout
    else:
        self.output_file = output_file
    self.reader_kwargs = self._extract_csv_reader_kwargs()
    self.writer_kwargs = self._extract_csv_writer_kwargs()
    self._install_exception_handler()
    try:
        import signal
        signal.signal(signal.SIGPIPE, signal.SIG_DFL)
    except (ImportError, AttributeError):
        pass
