Question

For example:

>>> import os
>>> '__dict__' in dir(os)
False

But os.__dict__ shows there is a __dict__ attribute.

Was it helpful?

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.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top