如何配置所需的参数,同时仍允许使用“--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 值).