我想确保至少选择了一个子命令。但是add\u subparsers()没有必需的选项。如何强制至少选择一个子parser
目前我这样做是为了模仿效果:
subparsers = parser.add_subparsers(
title='sub commands',
help='valid sub commands',
)
subparser1 = subparsers.add_parser('subcmd1')
subparser1.set_defaults(which_subcmd='subcmd1')
subparser2 = subparsers.add_parser('subcmd2')
subparser2.set_defaults(which_subcmd='subcmd2')
parsedargs = parser.parse_args()
if 'which_subcmd' not in parsedargs:
parser.print_help()
但是我需要一种正式的方法来实现这一点,并使帮助内容显示为{subcmd1 | subcmd2}
根据@hpaulj,3.7中有必选项。但是我需要一些可以在python3.5和3.6中工作的解决方案
与其打印帮助,我更希望出现一个错误:
这种方法与其他argparse错误更加一致。但只是品味的问题。只要在
print_help()
语句之后退出脚本,我就看不出您的方法有任何错误相关问题 更多 >
编程相关推荐