Python如何消除PyDictionary错误消息
我有以下代码来检查字典中是否有单词。如果单词不存在,则调用dictionary.means返回None。问题是,它还发出一条错误消息错误:发生了以下错误:列表索引超出范围。我做了一些研究,似乎我可以使用try:,除了:但无论我尝试了什么,错误消息仍然会打印出来。下面是一个显示问题的测试用例。如何在不显示索引错误的情况下使此代码正常工作 代码: 输出:Python如何消除PyDictionary错误消息,python,python-3.x,dictionary,Python,Python 3.x,Dictionary,我有以下代码来检查字典中是否有单词。如果单词不存在,则调用dictionary.means返回None。问题是,它还发出一条错误消息错误:发生了以下错误:列表索引超出范围。我做了一些研究,似乎我可以使用try:,除了:但无论我尝试了什么,错误消息仍然会打印出来。下面是一个显示问题的测试用例。如何在不显示索引错误的情况下使此代码正常工作 代码: 输出: no is in the dictionary act is in the dictionary amp is in the dictionary
no is in the dictionary
act is in the dictionary
amp is in the dictionary
Error: The Following Error occured: list index out of range
xibber is NOT in the dictionary
Error: The Following Error occured: list index out of range
xyz is NOT in the dictionary
我猜您的try/except块位于错误的块附近,或者您没有正确地捕获它,但是如果没有代码,很难判断 在这种情况下,请尝试将Try/except放在可能导致字典检查出错的代码段周围 编辑: 我的错误。错误正在被打印出来。您应该能够通过执行有意义的单词、禁用\u errors=True使其静音 第二次编辑: 使用
我猜您的try/except块位于错误的块附近,或者您没有正确地捕获它,但是如果没有代码,很难判断 在这种情况下,请尝试将Try/except放在可能导致字典检查出错的代码段周围 编辑: 我的错误。错误正在被打印出来。您应该能够通过执行有意义的单词、禁用\u errors=True使其静音 第二次编辑: 使用
答案是“尝试/抓住”。你把它放哪儿了?显示代码。Try/Catch是答案。你把它放哪儿了?显示代码。谢谢,我在文档中没有看到禁用错误选项。这段代码的输出表明字典中没有找到每个单词,因此似乎只有else子句在运行,这似乎是一个逻辑问题。这应该足够让我走了,你好,詹纳。上面的代码对你来说正确吗?真单词说它们在字典里,假单词说它们不在字典里?我仔细研究了一下,发现如果运行output=dictionary.meaningword,在try:except:block之外禁用\u errors=True,就会得到一个无效的参数错误。所以我认为try:except:只是掩盖了一个真正的错误。看来,我正在运行的PyDypic版本不考虑DababySaleReals= Trand是对字典的有效参数。你能告诉我你在哪里找到这个论点吗?也许我有打字错误什么的?嗯,再次阅读你的帖子,我看到了你添加到PyDictionary代码中的链接,并看到了你从哪里得到的参数,如果disable_errors==False:我很困惑为什么将这个值设置为True对我不起作用。你有什么想法吗?嗯,我想问题是,这个库添加了这些代码,所以它出现在GitHub中,但还没有推出新的版本,所以你正在安装的不会有那个功能标志。我认为解决方案是要么捕获打印输出,使用不同的库,要么在本地安装中更改代码。捕获print语句可以使用以下内容:我不知道您是否有选择权,但可以使用。我将编辑我的答案。谢谢,我没有在文档中看到禁用错误选项。这段代码的输出表明字典中没有找到每个单词,因此似乎只有else子句在运行,这似乎是一个逻辑问题。这应该足够让我走了,你好,詹纳。上面的代码对你来说正确吗?真单词说它们在字典里,假单词说它们不在字典里?我仔细研究了一下,发现如果运行output=dictionary.meaningword,在try:except:block之外禁用\u errors=True,就会得到一个无效的参数错误。所以我认为try:except:只是掩盖了一个真正的错误。看来,我正在运行的PyDypic版本不考虑DababySaleReals= Trand是对字典的有效参数。你能告诉我你在哪里找到这个论点吗?也许我有打字错误什么的?嗯,再次阅读你的帖子,我看到了你添加到PyDictionary代码中的链接,并看到了你从哪里得到的参数,如果disable_errors==False:我很困惑为什么将这个值设置为True对我不起作用。你有什么想法吗?嗯,我想问题是,这个库添加了这些代码,所以它出现在GitHub中,但还没有推出新的版本,所以你正在安装的不会有那个功能标志。我认为解决方案是要么捕获打印输出,使用不同的库,要么在本地安装中更改代码。捕获print语句可以使用以下内容:我不知道您是否有选择权,但可以使用。我将编辑我的答案。
no is in the dictionary
act is in the dictionary
amp is in the dictionary
Error: The Following Error occured: list index out of range
xibber is NOT in the dictionary
Error: The Following Error occured: list index out of range
xyz is NOT in the dictionary
def is_word(word):
from PyDictionary import PyDictionary
dictionary = PyDictionary()
try:
output = dictionary.meaning(word, disable_errors=True)
except:
return False
else:
return bool(output)
my_list = ["no", "act", "amp", "xibber", "xyz"]
for word in my_list:
result = is_word(word)
if result:
print("{} is in the dictionary".format(word))
else:
print("{} is NOT in the dictionary".format(word))
from vocabulary.vocabulary import Vocabulary
vb = Vocabulary()
my_list = ["no", "act", "amp", "xibber", "xyz"]
for word in my_list:
if vb.meaning(word):
print("{} is in the dictionary".format(word))
else:
print("{} is NOT in the dictionary".format(word))