-1
可能重複選項:
How can I get optparse’s OptionParser to ignore invalid arguments?添加未發現的ARG
我想用optparse解析我的輸入。我如何獲得optparse忽略未提供的選項並將它們附加到參數?我的程序的用戶不是精通計算機的人,我不想向他們解釋他們需要在命令行上提供' - '來獲取一些參數。
可能重複選項:
How can I get optparse’s OptionParser to ignore invalid arguments?添加未發現的ARG
我想用optparse解析我的輸入。我如何獲得optparse忽略未提供的選項並將它們附加到參數?我的程序的用戶不是精通計算機的人,我不想向他們解釋他們需要在命令行上提供' - '來獲取一些參數。
與default=
只需設置默認值,那麼如果沒有給出ARG,默認值將被使用:
from optparse import OptionParser
[...]
parser = OptionParser()
parser.add_option("-f", "--file", dest="filename",
help="write report to FILE", metavar="FILE")
parser.add_option("-q", "--quiet",
action="store_false", dest="verbose", default=True,
help="don't print status messages to stdout")
(options, args) = parser.parse_args()
要添加多個參數的選項,使用nargs=#
:
import optparse
if __name__ == '__main__':
parser = optparse.OptionParser()
parser.add_option("-a", "--add", nargs=2, dest="add")
(options, args) = parser.parse_args()
first_add = int(options.add[0])
second_add = int(options.add[1])
print "%d" % (first_add + second_add)
結果:
[ 12:05 [email protected] ~/SO/python ]$ ./optparse-add-options-not-found-to-args.py --add 1 -2
-1
[ 12:07 [email protected] ~/SO/python ]$ ./optparse-add-options-not-found-to-args.py -a -50 -75
-125
你能舉出一個例子嗎?如果他們不想追加 - 或 - 選項,他們將如何傳遞或區分選項?例如, –
。說我的程序是calc.py,它需要像'calc.py --add 3 -2'作爲參數,optparse給出「沒有這樣的選項:-2」 – Akash
@Aash:它是否也像這樣,當你設置'NARGS = 2'? – Daenyth