使用 python argparser,有没有办法指定在两个参数中,只能提供 1 个
Using python argparser, is there a way to specify that out of two args, only 1 can be provided
用例:
我正在使用 python argparser 并收集用户输入作为参数。
假设允许用户为参数 foo
和 bar
提供输入。
我想限制它,说用户可以为参数 foo 或 bar 提供值,但不能同时为两者提供值。
示例代码:
import argparse
my_parser = argparse.ArgumentParser()
my_parser.add_argument('foo',
help='xxxxxxxxxxx')
my_parser.add_argument('bar',
help='xxxxxxxxxxx')
args = my_parser.parse_args()
print(vars(args))
这可以直接在 argparser 中实现吗?或者我需要在我的 python 代码中处理这个
是的,你可以这样做:
my_group = my_parser.add_mutually_exclusive_group(required=False)
my_group.add_argument('foo', help='xxxxxxxxxxx')
my_group.add_argument('bar', help='xxxxxxxxxxx')
根据需要设置required
。我选择 false
基于你的措辞“用户可以为参数 foo 或 bar 提供值,而不是两者。”
用例:
我正在使用 python argparser 并收集用户输入作为参数。
假设允许用户为参数 foo
和 bar
提供输入。
我想限制它,说用户可以为参数 foo 或 bar 提供值,但不能同时为两者提供值。
示例代码:
import argparse
my_parser = argparse.ArgumentParser()
my_parser.add_argument('foo',
help='xxxxxxxxxxx')
my_parser.add_argument('bar',
help='xxxxxxxxxxx')
args = my_parser.parse_args()
print(vars(args))
这可以直接在 argparser 中实现吗?或者我需要在我的 python 代码中处理这个
是的,你可以这样做:
my_group = my_parser.add_mutually_exclusive_group(required=False)
my_group.add_argument('foo', help='xxxxxxxxxxx')
my_group.add_argument('bar', help='xxxxxxxxxxx')
根据需要设置required
。我选择 false
基于你的措辞“用户可以为参数 foo 或 bar 提供值,而不是两者。”