我有一个我在/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()
答案 0 :(得分:4)
您的searches
值为空,因此for
循环永远不会为test
赋值。
在功能开始时初始化test
:
def isItAlive(text):
test = None
并找出您的valcsv
文件为空的原因。
答案 1 :(得分:3)
如果searches
是一个空列表,则将跳过整个循环,并且永远不会初始化test
。你需要在循环之前声明test = None
或其他东西。