2009-11-10 16 views
2

我使用optparse模塊中的OptionParser來解析我使用raw_input()得到的命令。當我給-h它顯示幫助屏幕並退出我的應用程序。我不希望它顯示幫助屏幕或退出應用程序。這如何實現? Thanx提前。如何禁用OptionParser默認幫助視圖?

+0

正確的計算器禮儀說,當一個是正確的,你應該接受一個答案,而不是增加後續問題,你原來的問題。改爲創建一個新問題。 – 2009-11-10 18:47:07

+0

我只是一個n00b,我會在下一次做。請幫助我.. – Sriram 2009-11-10 19:26:03

回答

8

optparse有一個奇怪的penchange退出您的程序,我認爲這是非常不幸的。你可以像這樣初始化,以防止它:

oparser = OptionParser(add_help_option=False, ...) 

注意,現在你必須自己處理-h--help選項。您可以打印OptionParser這樣的格式幫助消息:

print(oparser.format_help().strip()) 
+0

if add_help_option = False那麼我可以分配-h到別的東西嗎? – Sriram 2009-11-10 12:02:56

+0

是的,一旦你關掉了OptParser的幫助,那麼你可以用'-h'和'--help'來做任何你想做的事情。 – 2009-11-10 12:19:55

7

設置add_help_option爲False

parser = optparse.OptionParser(add_help_option=False) 
parser.add_option('-h', '--help', help='show this help message') 
options, args = parser.parse_args() 
if options.help: 
    parser.print_help() 

add_help_option (default: True)

如果爲真,optparse會增加一個幫助選項 (帶選項字符串 「-h」 和 「--help」)的解析器。

+0

thanx但是,如果我不想它退出我的應用程序? – Sriram 2009-11-10 12:04:58

+0

@Sriram,檢查我更新的答案 – 2009-11-10 14:45:18

+0

明白了! thanx ..請檢查我更新的問題.. :) – Sriram 2009-11-10 14:48:28