Unbound Local error? How?
Hari Sekhon
sekhon.hari at googlemail.com
Tue Jun 27 11:43:17 EDT 2006
Bruno Desthuilliers wrote:
> Hari Sekhon wrote:
>
>> I've got some code as follows:
>>
>> import re
>> re_regexname = re.compile('abc')
>>
>> .....
>> ..... various function defs
>> .....
>>
>> def func1():
>> ...
>> func2()
>> ...
>>
>> def func2():
>> if re_regexname.match('abc'):
>> <do something>
>>
>> if __name__ == '__main__':
>> func1()
>>
>>
>> but this returns the Traceback:
>>
>> UnboundLocalError: local variable 're_regexname' referenced before
>> assignment
>>
>
> this is *not* the traceback. This is only the error message. The
> traceback contains all needed informations (or at least all possible
> information at this point) to know what happened. But you did not post
> the traceback. Nor did you post the minimal runnable code snippet
> producing this error.
>
>
>> How?
>>
>
> How could we know ?
>
>
>
sorry, I know it looks like I was being stingy but the traceback was not
that helpful, not without seeing more a huge amount more of the code. I
was trying to abbreviate.
Traceback (most recent call last):
File "./backup.py", line 649, in ?
backup(machine,share)
File "./backup.py", line 364, in backup
backupdir(source,destination)
File "./backup.py", line 398, in backupdir
(dirlist,filelist) = getdirlisting( source )
File "./backup.py", line 445, in getdirlisting
if re_skip_dirs.match(x):
UnboundLocalError: local variable 're_skip_dirs' referenced before
assignment
This doesn't really show that much, I figured the problem was the following:
def getdirlisting():
re_skip_dirs = re_skip_top_dirs #Here's the culprit
where both these regex compiled objects were declared at the top level,
it seems that the assignment is trying to use the local variable
re_skip_top_dirs which doesn't exist, that's why I'm getting a
traceback, commenting out this line it runs fine.
-h
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20060627/8505ba8a/attachment.html>
More information about the Python-list
mailing list