UnboundLocalError变量未被识别

问题描述:

我收到一个错误消息:UnboundLocalError: local variable 'words' referenced before assignment但我不确定原因。以下是我的代码:UnboundLocalError变量未被识别

def hasher(fname): 
    try: 
     with open(fname, 'r') as f: 
      words = re.split('(["\'@&,;:\(\)\s+\*\?\.]|\w+)', f.read().lower()) 
    except: 
     print 'Out' 

    while '' in words: 
     words.remove('') 

但是,当我尝试引用while语句中的单词时,出现错误,我不确定原因。任何帮助?谢谢!

+0

在情况下,如果再发生异常'words'不会被定义,你会在这条线',而'中字出现错误:' –

您需要定义一个默认值,

def hasher(fname): 
    words = [] 
    try: 
     with open(fname, 'r') as f: 
      words = re.split('(["\'@&,;:\(\)\s+\*\?\.]|\w+)', f.read().lower()) 
    except: 
     print 'Out' 

    while '' in words: 
     words.remove('') 

    return words