以下是使用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