我正在尝试使用模块执行翻译,但不断收到与我的某些变量相关的错误消息:
UnboundLocalError: local variable 'usedWord' referenced before assignment
这是我的参考代码:
def message_translate():
for message in r.get_unread():
message_text = message.body.lower()
messageList = message_text.split()
for word in message_text:
if word in fullLangNames:
usedWord = word
index = fullLangNames.index(word)
transLang = supportedLangs[index]
elif word in abbrevLangNames:
usedWord = word
index = abbrevLangNames.index(word)
transLang = supportedLangs[index]
finalized_message_text = message_text.replace("/u/pleaseTranslate", "") and message_text.replace(usedWord, "")
translation = (translator.translate(finalized_message_text, lang_from = 'en', lang_to = transLang))
callback = (transMessage % translation)
message.mark_as_read
现在我不明白为什么我会收到错误,或错误告诉我的错误。我很抱歉,如果这是一个简单的解决办法,虽然我已经环顾四周并且没有发现任何有用的东西。
谢谢,我感谢您的帮助!
答案 0 :(得分:1)
我认为问题出现在finalized_message_text中。你应该在for循环之前初始化usedWord =“”。那应该解决它。或者添加最终的Else语句来初始化usedWord =“”