2013-07-22 27 views
1

這樣的開關/命令似乎可以用argparse創建可選參數,以「覆蓋」否則需要的參數(無論是位置還是必需的選項)。執行像-h

一個例子就是--help/-h開關,它只顯示幫助和退出。現在我需要像這樣完成行爲;我需要一個開關/選項,可以在不使用任何其他必需的參數的情況下使用。

回答

1

看看「幫助」開關是如何實現的:

  self.add_argument(
       default_prefix+'h', default_prefix*2+'help', 
       action='help', default=SUPPRESS, 
       help=_('show this help message and exit')) 

您需要提供一個動作是短路參數處理; 'help'操作通過退出程序來完成。

+0

繼承argparse.Action並提供調用'sys.exit'的'__call__'方法工作得很好。將'nargs = 0'添加到'add_argument'使其充當開關。謝謝! – dom0