import argparse def type_foo_func(string): if string == 'foo': print("ERROR: %s" % string) else: print("OK: %s" % string) return string parser = argparse.ArgumentParser() parser.add_argument('--foo', type=type_foo_func, default='foo') parser.parse_args('--foo bar'.split())