使用argparse显示隐藏选项

蓝色奶奶

我正在使用argprase创建一个选项,这是完成一项特定工作的非常具体的选项。该脚本当前大约有30个旋钮,并且大多数都不经常使用。

我正在创建一个选项:

opt.add_argument('-opt',help="Some Help", help=argparse.SUPPRESS)

但是我希望有两种方法可以显示脚本的帮助:

my_script -help
my_script -help-long

我希望-help-long还显示所有隐藏的args。我找不到办法。

有没有一种方法可以实现这种行为?

米吉尔森

我认为没有内置的方法可以支持此功能。您可能可以通过sys.argv直接检查并使用它来修改构建解析器的方式来解决它

import sys
show_hidden_args = '--help-long' in sys.argv

opt = argparse.ArgumentParser()
opt.add_argument('--hidden-arg', help='...' if show_hidden_args else argparse.SUPPRESS)
opt.add_argument('--help-long', help='Show all options.', action='help')


args = opt.parse_args()

当然,如果一遍又一遍写起来很不方便,则可以将其包装在一个辅助函数(或子类ArgumentParser)中:

def add_hidden_argument(*args, **kwargs):
    if not show_hidden_args:
        kwargs['help'] = argparse.SUPPRESS
    opt.add_argument(*args, **kwargs)

您可能想要添加一个非隐藏的--help-long参数,以便用户知道它应该执行的操作...

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用argparse显示隐藏选项

来自分类Dev

使用jQuery显示/隐藏选择选项

来自分类Dev

使用下拉选项显示/隐藏 div

来自分类Dev

下拉选项隐藏/显示

来自分类Dev

使用jQuery从下拉菜单中显示/隐藏选项

来自分类Dev

使用多个选项登录,显示/隐藏其他字段

来自分类Dev

使用jQuery选择下拉选项后显示隐藏的字段集

来自分类Dev

选择选项隐藏并显示

来自分类Dev

使用argparse隐藏选定的子命令

来自分类Dev

在Python的argparse中多次使用相同的选项

来自分类Dev

如何使用 argparse 为函数应用选项

来自分类Dev

如何使用 VBA 使用选项按钮显示/隐藏工作表(Worksheet_Change 不是由选项值触发)

来自分类Dev

jQuery基于输入值的显示/隐藏选项

来自分类Dev

jQuery根据选项选择显示/隐藏Div

来自分类Dev

基于选项选择的Javascript显示/隐藏

来自分类Dev

隐藏/显示div部分-选择选项

来自分类Dev

Bootstrap显示/隐藏选项卡组件

来自分类Dev

显示隐藏div元素onselect选项

来自分类Dev

如何隐藏/显示jqueryUI选项卡?

来自分类Dev

根据选择选项显示/隐藏div

来自分类Dev

jQuery根据选项选择显示/隐藏Div

来自分类Dev

Bootstrap显示/隐藏选项卡组件

来自分类Dev

从右到左显示/隐藏选项卡

来自分类Dev

根据选项选择隐藏或显示div

来自分类Dev

显示和隐藏选项卡

来自分类Dev

单击单选按钮时隐藏/显示选项

来自分类Dev

根据所选选项显示/隐藏元素

来自分类Dev

使用引导隐藏显示

来自分类Dev

隐藏,使用jquery显示