我正在使用 Freebase-Python 模块来遍历数百个结果。使用:
results = freebase.mqlreaditer(query, extended=True)
我得到了一个 Python 生成器,我可以像这样迭代它:
for r in results:
#do stuff, like create new object and save to datastore
mqlreaditer() 一次获取 100 个 JSON 结果。100 结果中的一个条目是一个短字符串,例如:
result:: {u'type': u'/games/game', u'mid': u'/m/0dgf58f', u'key':
{u'namespace': u'/user/pak21/', u'value': u'42617'}}
我在本地遇到错误:
"WARNING 2011-01-29 15:59:48,383 recording.py:365]
Full proto too large to save, cleared variables."
不知道发生了什么,但我怀疑它太快了,所以我想减慢迭代速度或将其分解成块。我不确定生成器是如何工作的,或者我的选择是什么。请注意,这是在 Google App Engine 上运行的,因此 Python 依赖项和使用本地应用程序引擎启动器的怪癖适用。