我想使用 optparse 来解析我的输入。如何让 optparse 忽略未提供的选项并将它们附加到 args ?我的程序的用户不是精通计算机的,我不想向他们解释他们需要在命令行上提供“--”来获取一些参数。
问问题
1162 次
1 回答
1
只需使用 设置默认值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 jon@hozbox ~/SO/python ]$ ./optparse-add-options-not-found-to-args.py --add 1 -2
-1
[ 12:07 jon@hozbox ~/SO/python ]$ ./optparse-add-options-not-found-to-args.py -a -50 -75
-125
于 2011-11-16T19:52:12.180 回答