私のプログラムには2つの機能があります。一方は引数なしで実行され、他方はオプションの引数を持つことができます。グループはお互いに干渉することはできません。2つの独立したグループを持つ方法
python file.py --export -l name1 -l name2 -d 1/1/2015
python file.py --export
python file.py --run
そして、これが許可されていないことを:
python file.py --run --export # Namespace(d=None, export=True, l=None, run=True)
python file.py --run -l name1 # Namespace(d=None, export=False, l=['name1'], run=True)
しかし、上のようになりまし許可されない操作のどちらとして、エラーを上昇
import argparse
parser = argparse.ArgumentParser()
root_group = parser.add_mutually_exclusive_group()
group_export = root_group.add_argument_group()
group_export.add_argument('--export', action='store_true', help='Exports data from database')
group_export.add_argument('-l', action='append', help='Reduce output with league name')
group_export.add_argument('-d', action='append', help='Reduce output with date range')
group_run = root_group.add_argument_group()
group_run.add_argument('--run', action='store_true', help='Start gathering of data')
は、私がこれを許可することにしたいですコメントによって示される。