[Python-ideas] Allow filtered dir built in
Steve Barnes
gadgetsteve at live.co.uk
Thu Jun 14 05:27:05 EDT 2018
Currently when working with interactive sessions using the dir() or
dir(module) built in is incredibly useful for exploring what
functionality is available in a module. (Especially the regrettable
libraries or modules that add really valuable functionality but have no
or limited docstrings).
However I often find that when a module adds a lot of functions I need
to filter those entries to be able to find the one that I need, e.g.:
>>> import mpmath
>>> dir(mpmath) # This produces 390+ lines of output but
>>> for name in dir(mpmath):
... if 'sin' in name:
... print(name) # gives me a mere 13 to consider as candidates
What I would really like to do is:
>>> dir(mpmath.*sin*)
However, I know that the interpreter will hit problems with one or more
operators being embedded in the module name.
What I would like to suggest is extending the dir built-in to allow an
optional filter parameter that takes fnmatch type wild card as an
optional filter. Then I could use:
>>> dir(mpmath, "*sin*")
To narrow down the candidates.
Ideally, this could have a recursive variant that would also include
listing, (and filtering), any sub-packages.
--
Steve (Gadget) Barnes
Any opinions in this message are my personal opinions and do not reflect
those of my employer.
---
This email has been checked for viruses by AVG.
https://www.avg.com
More information about the Python-ideas
mailing list