修复UnboundLocalError围绕"局部变量' '在分配之前引用。"

时间:2015-05-07 19:41:05

标签: python runtime-error praw

我正在尝试使用模块执行翻译,但不断收到与我的某些变量相关的错误消息:

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

现在我不明白为什么我会收到错误,或错误告诉我的错误。我很抱歉,如果这是一个简单的解决办法,虽然我已经环顾四周并且没有发现任何有用的东西。

谢谢,我感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

我认为问题出现在finalized_message_text中。你应该在for循环之前初始化usedWord =“”。那应该解决它。或者添加最终的Else语句来初始化usedWord =“”