我使用argparse4j解析命令行参数。我想添加一个参数,当它出现时,将一个布尔值设置为true,否则它默认为false。我不想在参数中包含true或false,只包含标识符,所以在运行时它看起来如下所示:
java firstArg --enable-boolean这个答案显示,在Python中,我可以将参数的action设置为存储如下所示的真值或假值:
parser.add_argument('-b',action='store_true',default=False)
我如何使用argparse4j在Java中做同样的事情?
发布于 2015-03-06 23:42:29
您正在寻找Arguments.storeTrue()操作:
Arguments.storeTrue()和Arguments.storeFalse()分别是用于存储值true和false的http://argparse4j.sourceforge.net/usage.html#arguments-storeconst的特例。此外,它们分别创建false和true的默认值。例如: parser.addArgument("--foo").action(Arguments.storeTrue());parser.addArgument("--bar").action(Arguments.storeFalse());parser.addArgument("--baz").action(Arguments.storeFalse());System.out.println(parser.parseArgs( args) )抛出ArgumentParserException { ArgumentParser解析器= ArgumentParsers.newArgumentParser("prog");} $ java -foo-bar名称空间(baz=true,foo=true,bar=false)
https://stackoverflow.com/questions/28813481
复制相似问题