请考虑以下代码:
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 arguments
和optional arguments
组。
关于python - argparse的“必需”在帮助屏幕中被忽略了吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32855465/