我试图让这个脚本工作。我想得到一个同义词列表,但我总是得到同样的错误"第26行:KeyError:' term'。让我发疯了!
import requests
import workflow
import console
import json
term = workflow.get_variable('term')
URL = 'http://openthesaurus.softcatala.org/synonyme/search?q=' + term + '&format=application/json'
terms = requests.get(URL)
list = []
if terms.status_code == 500:
console.hud_alert('No Synonyms Found', 'error', 1)
workflow.stop()
elif terms.status_code == 200:
console.show_activity('Construint la llista...')
for element in terms.json()['metaData']['term']:
list.extend(element['list']['synonyms'].split('|'))
workflow.set_output('\n'.join(list))
答案 0 :(得分:0)
您从检查网站是否正常工作(状态代码200)到假设有效字典带回元素'元数据'和' term'。编码不好的做法。不要假设任何事情,特别是如果它来自 ALIEN WORLDS (互联网/客户/等)。
我建议您在尝试访问这些元素之前先确保这些元素存在。
if 'metaData' in element:
if 'term' in element['metaData']:
list.extend(.......)
您会注意到“' term'确实不是你提到的字典。