您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

python argparse-要么都是可选参数,要么都不是

python argparse-要么都是可选参数,要么都不是

我认为处理此问题的最佳方法是对返回的名称空间进行后处理。,之所以argparse不支持,这是因为它在一个时间解析参数1。很容易argparse检查是否已解析某些内容(这就是互斥参数起作用的原因),但是要查看将来是否 解析某些内容并不容易。

一个简单的:

parser.add_argument('-n','--name',...,default=None)
parser.add_argument('-p','--password',...,default=None)
ns = parser.parse_args()

if len([x for x in (ns.name,ns.password) if x is not None]) == 1:
   parser.error('--name and --password must be given together')

name = ns.name if ns.name is not None else "default_name"
password = ns.password if ns.password is not None else "default_password"

看起来就足够了。

python 2022/1/1 18:36:00 有238人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶