Adding to a module's __dict__?

Jean-Michel Pichavant jeanmichel at
Tue Mar 2 11:29:33 CET 2010

Roy Smith wrote:
> >From inside a module, I want to add a key-value pair to the module's
> __dict__.  I know I can just do:
> FOO = 'bar'
> at the module top-level, but I've got 'FOO' as a string and what I
> really need to do is
> __dict__['Foo'] = 'bar'
> When I do that, I get "NameError: name '__dict__' is not defined".  Is
> it possible to do what I'm trying to do?

import sys
varName= 'foo'
setattr(sys.modules[__name__], varName, 42)

in a shell:
import test

 >>> 42


More information about the Python-list mailing list