我有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'
答案 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