0

我有一个我开发/var/tmp并工作的脚本......当我出于某种原因移动到所需的目录时,它返回以下错误:

Traceback (most recent call last):
  File "tail.py", line 104, in <module>
    test=isItAlive(line)
  File "tail.py", line 55, in isItAlive
    return test
UnboundLocalError: local variable 'test' referenced before assignment

它抱怨的功能是:

def isItAlive(text):
        with open(valcsv) as f:
                searches = [x.split(',')[1] for x in f.read().splitlines()]
                for search in searches:
                #       print search
                        if not search in text:
                                test="TOBEADDED"
                        else:
                                test=search
                                break
                return test
        f.close()
4

2 回答 2

4

您的searches值是空的,因此for循环永远不会为test.

test在函数开始时初始化:

def isItAlive(text):
    test = None

并找出为什么你的valcsv文件是空的。

于 2012-10-05T13:44:08.003 回答
3

如果searches是一个空列表,整个循环将被跳过并且test永远不会被初始化。你需要test = None在循环之前声明或类似的东西。

于 2012-10-05T13:44:35.497 回答