Python:分配问题

2024-06-16 10:43:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个脚本,我在/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()

Tags: textinpytest脚本forsearchreturn
2条回答

如果searches是空列表,则将跳过整个循环,test将永远不会初始化。您需要在循环之前声明test = None或类似的内容。你知道吗

你的searches值是空的,所以for循环从不给test赋值。你知道吗

在函数开始时初始化test

def isItAlive(text):
    test = None

找出valcsv文件为空的原因。你知道吗

相关问题 更多 >