Phillip J. Eby wrote: > Presumably, if somebody writes to __dict__ in order to bypass the > warning, they either know what they're doing or deserve what they get. I'm not sure about that. Think about using globals(). Eg. exec somecode in globals() or: d = globals() d['range'] = 'ha ha' I especially worried about code that provides an interactive interface (e.g IDLE and pyrepl). Neil