Issue 5197: vars() assignment fails silently when assignments made later (original) (raw)

Assignments to vars() behave incorrectly if those variables are use later on in a function.

For example, try this:

====== #!/usr/bin/python

def zz(): for i in [1,2,3]: for j in [4,5,6]: vars()['fw_%s_%s' % (j,i)] = 'test %s %s' % (j, i) print vars()['fw_%s_%s' % (j,i)]

    fw_4_2 = 'zz'
    print fw_4_2

zz()

The assignments work fine up till 4_2. At 4_2, the assignment apparently fails silently, and the print raises a keyError exception.