argparse使用选项,而不是参数

时间:2016-10-21 15:59:20

标签: python argparse

如果我将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参数?

1 个答案:

答案 0 :(得分:3)

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

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