微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Argparse中的可选参数

如何解决Argparse中的可选参数

代码中使用argparse时,如果在命令行中传递的可选参数少于要求的可选参数,如何生成错误消息?例如,我有5个可选参数,并且如果任何时候使用的可选参数少于4个,我想生成一条错误消息。 我的初学者大脑无法弄清楚。

import argparse
import math
parser = argparse.ArgumentParser(description='Loan Calculator')
parser.add_argument('--type',type=str)
parser.add_argument('--principal',type=int)
parser.add_argument('--periods',type=int)
parser.add_argument('--interest',type=float)
parser.add_argument('--payment',type=int)
args = parser.parse_args()

解决方法

在您致电parse_args之后,这是最简单的处理方法。计算多少个选项仍具有默认值None。如果大于1,则引发错误。

args = parser.parse_args()
if 1 < sum(1 for x in [args.type,args.principal,args.periods,args.interest,args.payment] if x is None):
    sys.exit("Too few options specified")

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。