2011-03-15 37 views
1

我使用optparse模塊來解析我所做的選項,並且它會自動生成用-h選項打印的使用消息。optparse在python中使用的消息字符串?

如何在python腳本中將使用消息作爲字符串獲取?我想在解析出現問題時打印出來。

+0

無關:'optparse'從2.7開始棄用(取代['argparse'](http://docs.python.org/library/argparse.html#module-argparse)) – miku 2011-03-15 02:30:25

+0

是的,我打算說 - 必須回到一些舊的代碼,我仍然使用optparse :) – 2011-03-15 02:31:18

+0

如果您可以使用argparse取決於您需要支持的python版本... – 2013-02-01 15:11:05

回答

2

如果您使用parser.error(...)(其中parser是您的OptionParser對象),您將收到您的使用消息。

例如:

from optparse import OptionParser 

parser = OptionParser('usage: %prog [options] target source [source ...]') 
[...] 

(opts, args) = parser.parse_args() 

if len(args) < 2: 
    parser.error('need a target and at least one source') 

生產:

Usage: merge-into.py [options] target source [source ...] 

merge-into.py: error: need a target and at least one source 
+1

它不顯示選項的詳細信息。有什麼辦法可以得到'app.py -h'生成的東西嗎?謝謝。 – prosseek 2011-03-15 02:34:02

+0

然後只需使用'parser.print_help()'。就我個人而言,我認爲這是太多的信息,當用戶輸入錯誤時給用戶。 – 2011-03-15 02:38:59

1

如何parser.format_help()

相關問題