2024-04-26 06:31:08 发布
网友
我想写一个脚本,它采用可选的--foo和--bar参数。两个都不指定是合法的。同时规定两者也是合法的。但是,只指定--foo或只指定--bar会引发命令行解析器错误。你知道吗
--foo
--bar
在调用parser.parse_args()之后,我可以编写代码来检查这个条件并引发相应的错误,但是^{}中是否已经内置了一种方法来实现这个目的,一种^{}的相反方法?你知道吗
parser.parse_args()
不,没有那种分组或内置测试,只有这个xor测试。你知道吗
xor
但是在解析之后实现测试并不难——只要您的参数有合理的默认值(比如默认值None)。你知道吗
None
另一种可能性是用nargs=2定义一个参数foobar——它需要两个值。你知道吗
nargs=2
foobar
另一种方法是提供一个或两个良好的默认值,这样您就不会真正关心用户是否同时提供这两个值。你知道吗
不,没有那种分组或内置测试,只有这个
xor
测试。你知道吗但是在解析之后实现测试并不难——只要您的参数有合理的默认值(比如默认值
None
)。你知道吗另一种可能性是用
nargs=2
定义一个参数foobar
——它需要两个值。你知道吗另一种方法是提供一个或两个良好的默认值,这样您就不会真正关心用户是否同时提供这两个值。你知道吗
相关问题 更多 >
编程相关推荐