Pythonのargparseで特定のオプションが指定されている時はrequiredを抑制したい


以下の例では`-m`をrequired指定していますが、`--version`が指定されたときは、`-m`が未指定でも、バージョン情報を出力して終了する、ということをやりたいです。何か方法はないでしょうか？

[code]

    #!/usr/bin/env python3
    # -*- coding: utf-8 -*-
    
    
    import pkg_resources
    import sys
    import argparse
    
    argparser = argparse.ArgumentParser(
        description='This tool will help local development of mbed',
        formatter_class=argparse.ArgumentDefaultsHelpFormatter
    )
    argparser.add_argument(
        '-m', '--target',
        required=True,
        help='Compile target MCU. @see https://github.com/ARMmbed/mbed-cli')
    
    argparser.add_argument(
        '--version',
        required=False,
        default=False,
        action='store_true',
        help='Print version info')
    
    args = argparser.parse_args()
    
    if args.version:
        print('xmbedinit {}'.format(
            pkg_resources.require('xmbedinit')[0].version))
        sys.exit()
    
[/code]




`--version` に関しては、ご所望の動作をするような action として `'version'` が用意されています。

[code]

    argparser.add_argument('--version', action='version', version='%(prog)s 2.0')
    
[/code]

参考: [argparse のドキュメントにおける action
の節](https://docs.python.org/3/library/argparse.html#action)




`--version` に関しては、ご所望の動作をするような action として `'version'` が用意されています。

[code]

    argparser.add_argument('--version', action='version', version='%(prog)s 2.0')
    
[/code]

参考: [argparse のドキュメントにおける action
の節](https://docs.python.org/3/library/argparse.html#action)

