On 03/23/2013 10:04 AM, Marco wrote: > Is there the possibility using the argparse module to group two or more > arguments in order to have at least one of them required? For instance, > I would like to have not an error only in the following cases: > > python finder.py --file myfile --dir mydir > python finder.py --pattern mypattern --dir mydir > python finder.py --file myfile --pattern mypattern --dir mydir > > where --dir is required, and --file _or_ --parser have to be specified. > In other words, I want the parser prints an error message just in this case: > > python finder.py --dir mydir
How about something like: p = argparse.ArgumentParser (description="...") p.add_argument ('--dir', help="A dir (required).", required=True) p.add_argument ('--pattern', help="A pattern. If not given, --file is required.") p.add_argument ('--file', help="A filename. If not given, --pattern is required.") args = p.parse_args() if not args.file and not args.pattern: p.error ('Either --pattern or --file is required.') -- http://mail.python.org/mailman/listinfo/python-list