argparse;仅当参数为假时才需要参数

时间:2018-10-25 19:22:35

标签: python python-2.7 argparse

我认为我的问题与this问题非常相似,但这并不精确,很遗憾,我无法推断我的解决方案。

我有一些仅在另一个参数设置为“ False”时才要使用的参数。否则,这些参数将不是必需的,并且实际上不应提供。

目前,我的代码基本上是这样的:

if __name__ == '__main__':
    parser = argparse.ArgumentParser()

    #Arguments that will always be mandatory
    #str2bool is a function I have to detect T/F, which I've verified works
    parser.add_argument('--null_variants_provided', type=str2bool, nargs='?',
                        help='Are you providing a list of null variants?
                              If not, more arguments will be required',
                              required=True)
    args = parser.parse_args()



    #Options that will sometimes be necessary
    if args.null_variants_provided is False:
        parser.add_argument('--LCR_regions_file', 
                             help='I need to be required if
                             above argument is False', required=True)
        args = parser.parse_args()

我怀疑,我链接的解决方案对我不起作用的原因是,它只是检查是否通过了特定的参数,而不是在检查该参数是什么。我怀疑上面的解决方案不起作用的原因是,因为我第一次设置args时,代码会检查传递了哪些参数,并且如果还有其他参数(即我稍后定义的参数),则会抛出错误。

你们能想到一种方法吗?

0 个答案:

没有答案