为什么我的代码突然抛出UnboundLocalError:赋值错误之前引用的局部变量?

2024-03-28 00:43:22 发布

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

我下面的代码突然开始对每个变量抛出UnboundLocalError:。你知道吗

为什么它会突然这么做?你知道吗

我需要在我的try:之外定义allowed_domains吗?如果是这样,为什么以前没有引起错误?你知道吗

谢谢。你知道吗

File "/spiders/functions.py", line 85, in getAllowedDomains

return (allowed_domains)

UnboundLocalError: local variable 'allowed_domains' referenced before assignment

代码:

def getAllowedDomains():
    try:
        connection = lite.connect('links.db')
        c = connection.cursor()
        c.execute("SELECT site from sites")

        all_rows = c.fetchall()

        allowed_domains = []
        for row in all_rows:

            url = row[0]

            url = url[7:]
            print 'allowed url: '
            print url


            allowed_domains.append(url)

    except lite.Error, e:
        print "Error %s:" % e.args[0]

    finally:
        if connection:
            connection.close()


    return (allowed_domains)

Tags: 代码inurlreturnliteallconnectionrows