如何在Item()中检查值是否为空?

时间:2014-12-30 07:04:52

标签: python

我有item = Item()
我想检查它是否为空,但有错误 我认为这是因为item['mvid']是空的 那怎么能检查这个?
尝试除了?

    if not item['mvid'] :
        log.msg("title={}".format(item['title']) ,level=log.WARNING)


    if not item['mvid'] :
  File "/Users/some/djangoenv/lib/python2.7/site-packages/scrapy/item.py", line 50, in __getitem__
    return self._values[key]
exceptions.KeyError: 'mvid'

2 个答案:

答案 0 :(得分:2)

此处的ValueError表示密钥' mvid'从未在你的词典中设定过。这与item['mvid']设置为None或空字符串的情况不同。

你可以这样做:

if 'mvid' not in item:
    # Do something

根据您的使用案例,另一种方法可能是捕获异常:

try:
   print item['mvid']
except ValueError:
   # Handle error

答案 1 :(得分:0)

我认为你可以这样做: if item.get("mvid", None): # do something