python-3.x - 使用 PyDictionary 打印出 dictionary.meaning() 输出时遇到问题
问题描述
我正在尝试制作一个程序,该程序将从 JSON 文件中获取一个随机单词并打印它,它是使用 PyDictionary 定义的。它偶尔会起作用,但我认为我遇到的问题是当单词具有多种含义时显示 dictionary.meaning(word) 的输出。当出现这种情况时,我得到一个 IndexError。
示例输出:预期:tinamidae 名词 ['comprising the tinamous']
不需要的结果:非实质性错误:发生以下错误:列表索引超出范围未找到定义!
import json
import random
from PyDictionary import PyDictionary
dictionary = PyDictionary()
with open('C:\\Users\\jabes\\Desktop\\words_dictionary.json') as json_file:
words = json.load(json_file)
word = random.choice(list(words.keys()))
print(word)
try:
meanings = dictionary.meaning(word)
if meanings:
for k,v in meanings.items():
print(k, v)
else:
print("No definition found!")
except Exception as error:
print(error)
print("Exiting!")
解决方案
推荐阅读
- ruby-on-rails - 为什么在一行变成 nil 之后,一个不是 nil 的值?
- javascript - Promise.resolve() 函数是如何工作的?在将被拒绝的承诺作为参数传递给 Promise.resolve() 函数时,我得到了两个不同的输出
- c# - 如何在已格式化的字符串上添加文本换行或字符限制
- android - MPAndroidchart 和堆积条导致应用卡住
- python-3.x - try-except-else 内的循环问题
- xaml - 不能多次设置内容 xaml
- c++ - 如何在快速排序算法中使用函数指针
- python - 当我使用 Python 生成 xml 时,即使我编写了非常简单和简短的脚本,当我验证 xml 文件时总是会出错
- c# - 如何更新模型类配方?
- java - spring mvc中的长时间运行