當前,當我輸入無效選項或省略位置參數時,argparse會將我踢回提示並顯示我的應用程序的用法。這是確定的,但我寧願自動顯示完整的幫助上市(即解釋了這些選項等),不是要求用戶輸入python argparse:如何在錯誤時自動顯示幫助?
./myscript.py -h
謝謝!
傑米
當前,當我輸入無效選項或省略位置參數時,argparse會將我踢回提示並顯示我的應用程序的用法。這是確定的,但我寧願自動顯示完整的幫助上市(即解釋了這些選項等),不是要求用戶輸入python argparse:如何在錯誤時自動顯示幫助?
./myscript.py -h
謝謝!
傑米
這thread了在谷歌羣體具有下面的代碼片段,似乎這樣的伎倆(略有修改)。
class DefaultHelpParser(argparse.ArgumentParser):
def error(self, message):
sys.stderr.write('error: %s\n' % message)
self.print_help()
sys.exit(2)
在這裏使用'self.print_help(sys.stderr)'是否合理? – 2014-11-24 13:31:18
要打印您可能需要使用幫助:ArgumentParser
例如
parser = argparse.ArgumentParser()
(...)
parser.print_help()
print_help
功能要打印錯誤,您需要創建ArgumentParser
例如,重寫error()
方法的自己的子類的幫助信息。例如,如下所示:
class MyParser(argparse.ArgumentParser):
def error(self, message):
sys.stderr.write('error: %s\n' % message)
self.print_help()
sys.exit(2)
當此解析器遇到不可分析的參數行時,它將打印幫助。
又見更多信息這太問題:http://stackoverflow.com/questions/4042452][1] [1]:http://stackoverflow.com/questions/4042452 – jpoppe 2012-02-21 09:19:14