[Python-ideas] dir with a glob?

Peter Otten __peter__ at web.de
Thu Jun 30 16:54:03 CEST 2011


Ben Finney wrote:
> Sturla Molden <sturla at molden.no> writes:
>>> dir(object, "foo*")
>> I ask again: what would you expect (give an example) the output of this
> to be?

If I were to guess:
>>> import __builtin__, fnmatch 
>>> def dir(obj, glob=None): 
... names = __builtin__.dir(obj)
... if glob is not None:
... names = fnmatch.filter(names, glob)
... return names 
... 
Example usage: what was the name of the function to remove a directory and 
all empty parents again?
>>> import os
>>> dir(os)

[snip list with more than 200 names]
>>> dir(os, "r*d*")
['read', 'readlink', 'removedirs', 'rmdir']
Ah, I think I remember it now...
>> What I am asking is if the need to filter the output from dir is so
>> common that it could warrant a change to Python?

At the moment I'm writing list comprehensions in cases like the above, but 
I'd welcome the addition of a glob or regex argument to dir().
 
> Given that we already have ways to filter a sequence built into the
> language, I doubt the need for a special way to filter the output from
> some particular function.
 


More information about the Python-ideas mailing list

AltStyle によって変換されたページ (->オリジナル) /