python 位置参数用法_如何用nargs='+'解析多个位置参数

问题1的答案

“有没有可能。。。位置参数?”好吧,如果你这么做了,那么它们就不再是位置论了!因为所有的位置参数都是通过处于适当的位置来定义的,而不是通过标记来定义的。在

我认为您真正需要的是required选项,不要试图太聪明地使用位置参数。你的目标是创建一个惊人的聪明的接口,不管输入是什么,它都能神奇地解决你想要的是什么,还是一个可以预见地工作并产生好的错误消息的接口?在

在这一点上我可以讽刺,因为我过去花了太多时间做第一件事,而不是只做第二件事。

为什么不这样:

在测试.pyimport argparse

parser = argparse.ArgumentParser()

parser.add_argument(' files', required=True, nargs='+')

parser.add_argument(' genes', required=True, nargs='+')

parser.add_argument(

' pos', required=True, nargs='+', type=int, help="position(s) to analyze")

opts = parser.parse_args()

print(dir(parser))

print('files: %s, genes: %s, poses: %s' % (

opts.files, opts.genes, opts.pos))

所以:

^{pr2}$

问题2的答案

你不是在问“这里最好的界面是什么”?当然这是你需要决定的。我的建议是:保持简单。为什么不:parser.add_argument(' start', '-s', required=True, nargs=1, type=int)

parser.add_argument(' end', '-e', nargs=1, type=int)

opts = parser.parse_args()

if opts.end is None:

opts.end = opts.start + 1

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值