添加既改变行为又存储参数的选项
使用 argparse 模块,是否可以对给定参数执行多个操作?
具体来说,我想提供一个带有 nargs='?'
的 -l
/--list
选项,这将改变程序从其主要功能转变为提供有关一组中所有可能性或有关一种特定可能性的信息。
通常会有一个命名空间属性,其中包含解析后要调用的函数;我希望 -l 选项既可以更改此属性,也可以选择将其参数存储在不同的属性中。
这可能吗?
Using the argparse
module, is it possible to perform multiple actions for a given argument?
Specifically, I'd like to provide a -l
/--list
option with nargs='?'
that will change the behaviour of the program from its main function to one of giving information about all possibilities in a set or about one particular possibility.
Normally there will be a namespace attribute that contains a function to be called after parsing; I would like the -l
option to both change this attribute and optionally store its argument in a different attribute.
Is this possible?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
只需实现您自己的
Action
子类即可。基本上如下所示:argparse 文档提供了更多详细信息。
Simply implement your own
Action
subclass. This basically looks like this:The argparse documentation has more details.