我正在使用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] 删除。
我来说两句