Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在两个参数之间限制一个选项-argparse-python3_Python_Python 3.x_Command Line Arguments_Argparse - Fatal编程技术网

如何在两个参数之间限制一个选项-argparse-python3

如何在两个参数之间限制一个选项-argparse-python3,python,python-3.x,command-line-arguments,argparse,Python,Python 3.x,Command Line Arguments,Argparse,我想将命令行上的参数限制为-d或-f。我怎样才能做到这一点 我可以很容易地用if语句来做,但是我想用正确的方法来做 subparser_post = subparsers.add_parser('post', add_help=False) subparser_post.add_argument("-d", '--d') subparser_post.add_argument("-f", "--f") 使用相互排斥的组 subparser_post = subparser

我想将命令行上的参数限制为-d或-f。我怎样才能做到这一点

我可以很容易地用if语句来做,但是我想用正确的方法来做

   subparser_post = subparsers.add_parser('post', add_help=False)
    subparser_post.add_argument("-d", '--d')
    subparser_post.add_argument("-f", "--f")

使用相互排斥的组

subparser_post = subparsers.add_parser('post', add_help=False)
group = subparser_post.add_mutually_exclusive_group()
group.add_argument("-d", '--d')
group.add_argument("-f", "--f")

Add required=如果用户必须使用两个选项中的一个,则添加互斥组的调用为True。

使用互斥组

subparser_post = subparsers.add_parser('post', add_help=False)
group = subparser_post.add_mutually_exclusive_group()
group.add_argument("-d", '--d')
group.add_argument("-f", "--f")

Add required=如果用户必须使用两个选项之一,则添加互斥组的调用为True。

您可以添加互斥组:

import argparse

parser = argparse.ArgumentParser()

group = parser.add_mutually_exclusive_group()
group.add_argument('-a', action='store_true')
group.add_argument('-b', action='store_true')

print parser.parse_args()

这创建了一种只允许a或b,而不允许两者的方法。

您可以添加一个互斥组:

import argparse

parser = argparse.ArgumentParser()

group = parser.add_mutually_exclusive_group()
group.add_argument('-a', action='store_true')
group.add_argument('-b', action='store_true')

print parser.parse_args()
这创建了一种只允许a或b,而不允许两者的方法。

如果解析后的测试没有错误。对于这种简单的情况,互斥组功能起作用,但是对于更复杂的情况,您可能需要使用解析后测试。这个问题经常出现。如果解析后的测试没有错。对于这种简单的情况,互斥组功能起作用,但是对于更复杂的情况,您可能需要使用解析后测试。这个问题经常出现。