#!/usr/bin/env python codestring = 'foo = "new"' open ("execfile", "w").write (codestring) if 1: foo = 'old' exec codestring print "global: exec: foo = " + foo foo = 'old' execfile ("execfile") print "global: execfile: foo = " + foo def main (): foo = 'old' exec codestring print "func: exec: foo = " + foo foo = 'old' execfile ("execfile") print "func: execfile: foo = " + foo main ()