[Python-Dev] dir() in inspect.py ?

Guido van Rossum guido at python.org
Mon May 21 03:36:30 CEST 2012


On Sun, May 20, 2012 at 4:55 PM, Meador Inge <meadori at gmail.com> wrote:
> On Tue, May 15, 2012 at 3:13 PM, Christian Tismer <tismer at stackless.com> wrote:
>
>> Is the usage of dir() correct in this context or is the doc right?
>> It would be nice to add a sentence of clarification if the use of
>> dir() is in fact the correct way to implement inspect.
>
> There is already a note in the inspect.getmembers documentation
> (http://docs.python.org/library/inspect.html#inspect.getmembers):
>
> """
> Note
>
> getmembers() does not return metaclass attributes when the argument is
> a class (this behavior is inherited from the dir() function).
> """
>
> In any case, open a tracker issue if you think the documentation needs
> to be improved or that there might be a bug.
>
> -- Meador

I have to agree with Christian that inspect.py is full of hacks and
heuristics that would be fine in a module that's part of a user's app
or even in a library, but stand out as brittle or outright unreliable
in a stdlib module. Basically, you can't trust that inspect.py will
work. I've seen various occasions (sorry, can't remember details)
where some function in it outright crashed when given a slightly
unusual (but not unreasonable) argument. It might be a nice project
for a new contributor to improve this situation.

-- 
--Guido van Rossum (python.org/~guido)


More information about the Python-Dev mailing list