栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

带有必需子解析器的Argparse

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

带有必需子解析器的Argparse

您需要给

subparsers
一个
dest

parser = argparse.ArgumentParser()subparsers = parser.add_subparsers(dest='cmd')subparsers.required = True

现在:

1909:~/mypy$ argdev/python3 stack23349349.pyusage: stack23349349.py [-h] {foo} ...stack23349349.py: error: the following arguments are required: cmd

为了发出此“缺少参数”错误消息,代码需要给该参数命名。对于位置自变量(如子表达式),该名称(默认情况下)为“目标”。在您链接的SO答案中有一个(次要)说明。

argparse
在上一个Python版本中,为数不多的“补丁”之一改变了它测试“必需”参数的方式。不幸的是,它引入了有关次解析器的错误。此问题需要在下一个版本中解决(如果不能尽快)。

更新

如果您希望在Py2中具有此可选的子解析器行为,则最好的选择是使用两阶段解析器

相关的错误/问题中有一些近期活动

https://bugs.python.org/issue9253

更新

正在对此进行修复:https :
//github.com/python/cpython/pull/3027



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/637755.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号