Python 使用argparse时需要两个参数或两者都不需要

Python 使用argparse时需要两个参数或两者都不需要,python,argparse,Python,Argparse,使用,我希望能够有两个独立但共同必需(或可选)的选项 这与类似,但是建议的解决方案对我不起作用,因为我希望选项是单独的并命名的 我希望用法看起来有点像这样: foo.py [-h] [--username USER --password PASS] OTHER_ARGS 我希望用户能够同时提供--username和--password选项,或者两者都不提供,但如果它们只传递了一个选项,就会收到一个错误。虽然您的建议更清楚,但另一种选择是使用一个需要两个参数(user和pass)的选项,例如--

使用,我希望能够有两个独立但共同必需(或可选)的选项

这与类似,但是建议的解决方案对我不起作用,因为我希望选项是单独的并命名的

我希望用法看起来有点像这样:

foo.py [-h] [--username USER --password PASS] OTHER_ARGS

我希望用户能够同时提供
--username
--password
选项,或者两者都不提供,但如果它们只传递了一个选项,就会收到一个错误。

虽然您的建议更清楚,但另一种选择是使用一个需要两个参数(user和pass)的选项,例如
--login username password
。或者,只需在解析后处理。e、 g
if(args.user而不是args.pass)或(args.pass而不是args.user):
Tomerikoo所说的是正确的,但是为了更简洁的代码,如果bool(args.user)!=bool(args.pass):