如果我将boolean选项传递给我的脚本,如果提供该选项则基本上为true,否则为false,如何使用argparse
处理它而不是保存值的参数。
例如,我的脚本采用参数 propFile ,它包含一个值和一个选项 clean ,这只是一个真/假标志。用法是
myScript.py --propFile = path / to / my / prop.file -clean
请注意,我尝试通过为前者分配两个破折号并对后者分配一个短划线来区分用户级别的参数和选项,这对解释器来说并不重要。
如果提供了scrptVarClean=True
,我想分配-clean
,如果没有,我想分配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:期望一个参数
如何在argparse中使用可选的boolean参数?
答案 0 :(得分:3)
如果提供“--clean”或“-c”,则clean
的值为True
,否则为False
parser.add_argument('-c', '--clean', action="store_true")