没有跳过的质量错误检查

时间:2013-10-11 20:34:42

标签: python dictionary keyerror

我正在处理字典的错误处理。有没有一种灵巧的方法可以检查这些键中的每一个是否都在我正在搜索的字典中而不会跳过它们(通过将它们放入一个try块中),如果一个产生错误?

显然,我可以一次检查每个关键的一个并且工作正常,但我正在寻找一种更好/更漂亮的方式来做到这一点。

代码:

try:
    categories = self.getList(dict[categories])
except KeyError:
    print "No categories found!"

try:
    interests = self.getList(dict[interests])
except KeyError:
    print "No interests found!"

try:
    shops_at = self.getList(dict[shops_at])
except KeyError:
    print "No shops_at found!"

try:
    eats_at = self.getList(dict[eats_at])
except KeyError:
    print "No eats_at found!"

1 个答案:

答案 0 :(得分:1)

这是一种通过循环复制上述代码功能的方法。

params = {categories: "categories", interests: "interests",
        shops_at: "shops_at", eats_at: "eats_at"}

for k in params:
    try:
        value = self.getList(dict[k])
    except KeyError:
        print "No %s found!" % params[k]