【发布时间】:2011-12-08 12:28:09
【问题描述】:
我有一个 opts 解析。 例如:
from optparse import OptionParser
parser = OptionParser()
parser.add_option("ablah, dest = 'a',\
action = 'store', nargs=2)
parser.add_option("bblah, dest = 'b',\
action = 'store', nargs=2)
parser.add_option("cblah, dest = 'c',\
action = 'store', nargs=2)
现在我会得到一本字典。问题是opts的一个属性。 所以我尝试了:
for x in opts.__dict__.iterkeys():
if x = 'bblah':
callfunction1(opts.bblah[0],opts.bblah[1])
if x = 'ablah':
callfunction2(opts.ablah[0],opts.ablah[1])
if x = 'cblah':
callfunction3(opts.cblah[0],opts.cblah[1])
这里的问题是 2 倍。
- 我在 opts 元组/字典中有多个元素。
- 如何检查以确保这些对象具有值。否则我知道你不能用 None 调用值。我需要在这里完成这个“检查”,因为如果我在函数中这样做会导致一些严重的错误
我知道有人说这种方法通常是跳跃而不是请求原谅,但我想先检查一下。
谢谢。
【问题讨论】:
标签: python parsing dictionary arguments