定义执行特殊操作的参数(而不是解析)

时间:2017-07-01 14:43:52

标签: python argparse

以下是使用argparse的脚本示例:

import argparse

parser = argparse.ArgumentParser()
parser.add_argument('required')
parser.add_argument('--version', action='store_true')

args = parser.parse_args()
if args.version:
    print('Version: x.y.z')

脚本定义了必需的参数以及可选的参数。因此,以下用法是非法的:

$ python test.py --version
test.py: error: the following arguments are required: required

有没有办法修改--version的定义,以便执行特殊操作(打印版本号),或者在指定此参数时解析总是成功(忽略缺少必需参数)?类似于--help标志,它不会抱怨缺少参数但显示有关脚本的更多信息,而是我想在使用--version标志时打印版本号:

$ python test.py --help
usage: test.py [-h] [--version] required

positional arguments:
  required

optional arguments:
  -h, --help  show this help message and exit
  --version

理想的行为是:

$ python test.py --version
Version: x.y.z

0 个答案:

没有答案