On 23/08/2010 23:13, Benjamin Peterson wrote:
2010/8/23 Michael Foordfuzzyman@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).)