[Python-Dev] 'hasattr' is broken by design

Michael Foord fuzzyman at voidspace.org.uk
Mon Aug 23 22:55:00 CEST 2010


  On 23/08/2010 23:13, Benjamin Peterson wrote:
> 2010/8/23 Michael Foord<fuzzyman at voidspace.org.uk>:
>> To me hasattr *looks* like a passive introspection function, and the fact
>> that it can trigger arbitrary code execution is unfortunate - especially
>> because a full workaround is pretty arcane.
> That's the danger of a dynamic language like Python. Even dir() can
> now trigger things like that.
>

Well yes. One of the reasons a full workaround is so arcane is that if 
you *really* don't want to trigger code execution you can't call dir...

(Otherwise name in dir(obj) is a reasonable approximation for 
hasattr(obj, name).)

Michael

-- 
http://www.ironpythoninaction.com/



More information about the Python-Dev mailing list