python可变参数长度_可变长度参数

我正在使用^{} module创建一个python程序,我希望允许程序接受一个参数或两个参数。在

我什么意思?嗯,我正在创建一个程序来下载/解码MMS消息,我希望用户能够提供电话号码和MMS事务ID来下载数据,或者从已经下载的MMS数据系统中提供一个文件。在

我想要的是这样的,你可以输入2个参数,也可以输入1个参数:./mms.py (phone mmsid | file)

注意:phone将是一个电话号码(如15555555555)、mmsid一个字符串(MMS事务ID)和file用户计算机上的文件

用argparse可以吗?我希望我可以使用add_mutually_exclusive_group,但这似乎没有达到我想要的效果。在

^{pr2}$

这会产生错误(删除required=True会产生相同的错误):ValueError: mutually exclusive arguments must be optional

它似乎希望我使用--phone而不是phone:parser = argparse.ArgumentParser()

group = parser.add_mutually_exclusive_group(required=True)

group.add_argument('--phone', help='Phone number')

group.add_argument('--mmsid', help='MMS-Transaction-ID to download')

group.add_argument('--file', help='MMS binary file to read')

在不带参数运行程序时,我看到:error: one of the arguments --phone --mmsid --file is required

这更接近我想要的,但是我能让argparse做(--phone --msid) or (--file)?在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值