这个代码
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('target', help='Specifiy who to attack!')
magic = ['fireball', 'heal', 'microwave']
parser.add_argument('-m', '--magic', nargs='*',
choices=magic,
help=('Magic'))
parsed_arguments = parser.parse_args()
生成此帮助输出
^{pr2}$我认为帮助输出是令人困惑的,使它看起来像是应该最后指定目标,但这并不起作用:python example.py -m fireball troll
给出了argument -m/--magic: invalid choice: 'troll'
。在
我意识到这种语言的语法变得模棱两可,但仍然可以看出,因为句子中应该存在最后一个单词(目标),因此troll
不是{
问题:
正如前面在一篇评论中提到的,POSIX系统上表示选项结束的标准方法是用
分隔参数和选项。在
至于第二个问题:您可能需要创建自己的HelpFormatter来实现这一点,请参见formatter-class。您可以从默认格式化程序继承并仅重写生成用法行所需的函数。在
相关问题 更多 >
编程相关推荐