如果我填充一個專門相互argparse組,然後parser.add_argument(其它項目)的使用給出了完全相互組內的參數爲互斥:argparse用法如何在中間顯示與parser.add_argument()相互排斥的選項?
import argparse
parser1 = argparse.ArgumentParser()
group1 = parser1.add_mutually_exclusive_group()
group1.add_argument('--start')
group1.add_argument('--stop')
group1.add_argument('--restart')
parser1.add_argument('--os')
parser1.print_usage()
輸出:
usage: arg_usage.py [-h] [--start START | --stop STOP | --restart RESTART] [--os OS]
但是,如果我在組中間的解析器中添加非互斥參數,則使用輸出不再反映一些參數互斥的事實:
import argparse
parser2 = argparse.ArgumentParser()
group2 = parser2.add_mutually_exclusive_group()
group2.add_argument('--start')
group2.add_argument('--stop')
parser2.add_argument('--os')
group2.add_argument('--restart')
parser2.print_usage()
輸出:
usage: arg_usage.py [-h] [--start START] [--stop STOP] [--os OS]
[--restart RESTART]
有什麼辦法來解決,而無需手動提供使用字符串或重新排序的電話?
其他注意事項 - 將混合類型添加到互斥組(位置&可選)時,發現相同的問題(使用不表示相互排斥的選項)。
其他?:這些錯誤是否應該提交到http://bugs.python.org/?