如何配置所需的参数,同时仍允许使用“--version”等特殊参数?
How do I configure required arguments while still allowing special arguments like "--version"?
我有一个 Python 脚本,它接受一个或多个输入文件并生成一个或多个输出文件(类似于编译器,将一种语法翻译成另一种语法)
在我的 argparse 部分,我配置了输入文件列表选项 "nargs='+'",这样如果用户提供零个输入文件,它将显示 "too few arguments" 错误。
同时,我想要一个“--version”选项,它只会打印当前脚本版本并退出。提供此选项时,其他所有内容(如果提供)均无关紧要,应忽略。
就像 ArgumentParser 自动添加“--help”选项一样,如何在不更改 nargs='+' 机制的情况下添加“--version”选项?
尝试 version
操作 class。来自文档:
'version' - This expects a version= keyword argument in the add_argument() call, and prints version information and exits when invoked:
>>>
>>> import argparse
>>> parser = argparse.ArgumentParser(prog='PROG')
>>> parser.add_argument('--version', action='version', version='%(prog)s 2.0')
>>> parser.parse_args(['--version'])
PROG 2.0
它的行为类似于 help
(-h) 除了它显示您用它定义的 version
参数(或缺少您给解析器本身的 version
值).
我有一个 Python 脚本,它接受一个或多个输入文件并生成一个或多个输出文件(类似于编译器,将一种语法翻译成另一种语法)
在我的 argparse 部分,我配置了输入文件列表选项 "nargs='+'",这样如果用户提供零个输入文件,它将显示 "too few arguments" 错误。
同时,我想要一个“--version”选项,它只会打印当前脚本版本并退出。提供此选项时,其他所有内容(如果提供)均无关紧要,应忽略。
就像 ArgumentParser 自动添加“--help”选项一样,如何在不更改 nargs='+' 机制的情况下添加“--version”选项?
尝试 version
操作 class。来自文档:
'version' - This expects a version= keyword argument in the add_argument() call, and prints version information and exits when invoked:
>>>
>>> import argparse
>>> parser = argparse.ArgumentParser(prog='PROG')
>>> parser.add_argument('--version', action='version', version='%(prog)s 2.0')
>>> parser.parse_args(['--version'])
PROG 2.0
它的行为类似于 help
(-h) 除了它显示您用它定义的 version
参数(或缺少您给解析器本身的 version
值).