Namespace problem?

Matt McCredie mccredie at gmail.com
Thu Jul 1 17:50:10 EDT 2010


Josh English <joshua.r.english <at> gmail.com> writes:

> 
> I have a script that generates a report from a bunch of data I've been
> collecting for the past year. I ran the script, successfully, for
> several weeks on test runs and creating more detailed reports.
> 
> Today (back from vacation) and the script doesn't work. It's giving me
> a name error.
> 
> I'm running python 2.5.4 (r254:67916, Dec 23 2008, 15:10:54) [MSC v.
> 1310 32 bit (Intel)]. (Upgrading is not a possibility right now.
> Eventually we'll be upgraded top Windows 7.)
> 
> Here is the reduced code:
> 
> fws_first_col = 6
> 
> for student in range(32):
> 
>     if True:
>         idx = fws_first_col
> 
>         for _month in range(12):
>             idx += 2
>         fws_last_col = idx
> 
> print fws_last_col
> 
> I get:
> 
> NameError: name 'fws_last_col' is not defined
> 
> This snippet of code works on it's own, but not in the main script.

That doesn't give me enough information to help you with the issue. In general 
you need to provide enough code to reproduce the failure, not some modified 
version that doesn't fail. My guess is that the "if True" is actually something 
else, and it isn't being interpreted as "True". As such, "fws_last_col" never 
gets assigned, and thus never gets created. You can fix that by assigning 
fws_last_col to an appropriate default value before the for loop. But what do I 
know, that is just a guess.

Matt






More information about the Python-list mailing list