Why does dir of a module show no __dict__? (python)

dictionary, dir, module, python

Solution

Because `dir` uses a specialized implementation for modules, which returns all the keys in the module's `__dict__`, and thus neglects to include the `__dict__` attribute itself.

It is not clear from reading the source code whether this is intentional.

Problem

For example: ``` >>> import os >>> '__dict__' in dir(os) False ``` But `os.__dict__` shows there is a `__dict__` attribute.

Original source