argparse 使用选项,而不是参数

argparse usage with options, not parameters

如果我将布尔选项传递给我的脚本,如果提供该选项则基本上为真,否则为假,我如何使用 argparse 与保存值的参数不同地处理它。

例如,我的脚本有一个参数 propFile,它包含一个值和一个选项 clean,它只是一个 true/false 标志。用法是

myScript.py --propFile=path/to/my/prop.file -clean

请注意,我试图通过为前者分配两个破折号和为后者分配一个破折号来区分用户级别的参数和选项,这对解释器来说应该无关紧要。

如果提供了 -clean,我想分配 scrptVarClean=True,如果没有,我想分配 False

我试过的是:

argparser = argparse.ArgumentParser()
argparser.add_argument('--propFile', help='Properties file path')
argparser.add_argument('-clean', help='Clean?')
args = argparser.parse_args();
propFile = args.props
clean = args.clean

但我得到了

pgCloner.py: error: argument -clean: expected one argument

如何将可选的布尔参数与 argparse 一起使用?

如果提供“--clean”或“-c”,clean 的值将是 True,否则 False

parser.add_argument('-c', '--clean', action="store_true")