On 25/05/2025 00:18, Mats Wichmann wrote:
On 5/23/25 16:05, Rob Cliffe via Python-list wrote:
On 23/05/2025 18:55, Mats Wichmann wrote:
On 5/22/25 21:04, Rob Cliffe via Python-list wrote:
It occurs to me that it might be useful if Python provided a
function to search for a file with a given name in various
directories (much as the import.import_lib function searches for a
module in the directories in sys.path).
This function would perhaps be best placed in the os.path or os
modules.
To start the ball rolling, I offer this version:
consider: os.walk, glob.glob, Path.glob
I have. None of these are appropriate.
os.walk iterates *recursively* over a *single* directory and its
subdirectories.
pathlib.Path.glob so far as I can make out (I have never used
pathlib) does much the same.
glob.glob (so far as I can make out) does a *wildcard* search for
directories matching a *single* pattern.
My suggestion needs a *non-recursive* search for a *file* in a *list*
of *non-wildcarded* directories.
Best wishes
Rob Cliffe
They don't give you "search in a list of directories" intrinsically,
but that's simple loop, bailing out on a match, no?
pathlib's glob method is more like glob.glob than os.walk - though
there's also a walk method in pathlib that's in the same spirit as
os.walk. The globs are only recursive if you ask them to be, and if
you don't want wildcarding, don't include any wildcard characters in
the pattern.
Yes, but if I understand correctly, they all start from a single
directory (and work downwards if required).
My suggestion involved searching a *list* (possibly multiple lists) of
directories.
Rob
--
https://mail.python.org/mailman3//lists/python-list.python.org