请考虑以下代码:

import argparse
parser = argparse.ArgumentParser()
parser.add_argument('-o', required=True, nargs=1)
parser.parse_args(['-h'])

为什么我要得到下面的输出,即使我说需要-o
usage: test.py [-h] -o O

optional arguments:
  -h, --help  show this help message and exit
  -o O

我希望帮助文本说明需要-o

最佳答案

这是issue #9694 on the Python bug tracker,尚未修复。你可以在那里读更多的书。注意,usage行确实正确地指示需要开关(如果不需要,则usage行将读取usage: test.py [-h] [-o O],而不是usage: test.py [-h] -o O)。
为了解决这个问题,你可以use argument groups,这可以给一个title。如链接页面中的示例所示,这允许您使用自己选择的名称创建组,而不是使用默认的positional argumentsoptional arguments组。

关于python - argparse的“必需”在帮助屏幕中被忽略了吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32855465/

10-11 07:36