Re: Searching for a file

2025-05-27 Thread Roland Mueller via Python-list
To get a list of files in a given directory one can use glob.glob and
os.path.isfile

>>> from os.path import isfile
>>> from glob import glob
>>> files_in_var_tmp = [f for f in glob('/var/tmp/*') if isfile(f) ]

For several directories iterate over the dirs and add the resulting list of
files.

>>> tmp_files = []
>>> for dir in ['/tmp', '/var/tmp']:
... tmp_files += [f for f in glob(dir + '/*')  if isfile(f) ]


ti 27.5.2025 klo 17.05 Peter J. Holzer (hjp-pyt...@hjp.at) kirjoitti:

> On 2025-05-24 17:18:11 -0600, 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.
> >
> > They don't give you "search in a list of directories" intrinsically, but
> > that's simple loop, bailing out on a match, no?
>
> But they all read directories. For Rob's purpose this isn't necessary.
> He just needs to test a fixed number of locations. Reading even one
> directory (muss less recursively scanning a whole tree like os.walk
> does) is just pointless extra work.
>
> hjp
>
> --
>_  | Peter J. Holzer| Story must make more sense than reality.
> |_|_) ||
> | |   | h...@hjp.at |-- Charles Stross, "Creative writing
> __/   | http://www.hjp.at/ |   challenge!"
> --
> https://mail.python.org/mailman3//lists/python-list.python.org
>
-- 
https://mail.python.org/mailman3//lists/python-list.python.org


Re: Searching for a file

2025-05-27 Thread Roland Mueller via Python-list
When answering I saw only the post from Peter. Everything else was in SPAM
folder. GMail was so kind to move the "junk" mails to my Inbox after
pressing SENT :-)

My code works in Linux but with a small change it should work in Windows
too.

ti 27.5.2025 klo 17.41 Roland Mueller (roland.em0...@googlemail.com)
kirjoitti:

> To get a list of files in a given directory one can use glob.glob and
> os.path.isfile
>
> >>> from os.path import isfile
> >>> from glob import glob
> >>> files_in_var_tmp = [f for f in glob('/var/tmp/*') if isfile(f) ]
>
> For several directories iterate over the dirs and add the resulting list
> of files.
>
> >>> tmp_files = []
> >>> for dir in ['/tmp', '/var/tmp']:
> ... tmp_files += [f for f in glob(dir + '/*')  if isfile(f) ]
>

>>> from os.path import isfile, join
>>> from glob import glob

>>> tmp_files = []
>>> for dir in ['/tmp', '/var/tmp']:
... tmp_files += [f for f in glob(join(dir, '*'))  if isfile(f) ]

Here os.path.join is used to put the parts for the glob mask together
instead of plain '/'.

>
>
> ti 27.5.2025 klo 17.05 Peter J. Holzer (hjp-pyt...@hjp.at) kirjoitti:
>
>> On 2025-05-24 17:18:11 -0600, 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.
>> >
>> > They don't give you "search in a list of directories" intrinsically, but
>> > that's simple loop, bailing out on a match, no?
>>
>> But they all read directories. For Rob's purpose this isn't necessary.
>> He just needs to test a fixed number of locations. Reading even one
>> directory (muss less recursively scanning a whole tree like os.walk
>> does) is just pointless extra work.
>>
>> hjp
>>
>> --
>>_  | Peter J. Holzer| Story must make more sense than reality.
>> |_|_) ||
>> | |   | h...@hjp.at |-- Charles Stross, "Creative writing
>> __/   | http://www.hjp.at/ |   challenge!"
>> --
>> https://mail.python.org/mailman3//lists/python-list.python.org
>>
>
-- 
https://mail.python.org/mailman3//lists/python-list.python.org


Re: Searching for a file

2025-05-27 Thread Peter J. Holzer
On 2025-05-24 17:18:11 -0600, 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.
> 
> They don't give you "search in a list of directories" intrinsically, but
> that's simple loop, bailing out on a match, no?

But they all read directories. For Rob's purpose this isn't necessary.
He just needs to test a fixed number of locations. Reading even one
directory (muss less recursively scanning a whole tree like os.walk
does) is just pointless extra work.

hjp

-- 
   _  | Peter J. Holzer| Story must make more sense than reality.
|_|_) ||
| |   | h...@hjp.at |-- Charles Stross, "Creative writing
__/   | http://www.hjp.at/ |   challenge!"


signature.asc
Description: PGP signature
-- 
https://mail.python.org/mailman3//lists/python-list.python.org


Re: Python tutor mailing list?

2025-05-27 Thread Alan Gauld via Python-list
On 28/05/2025 00:32, Alan Gauld via Python-list wrote:

> The archives are still there and the sign-up page seems to
> work, but it doesn't recognise me. I tried signing up as
> a new member with a different address and that seems to work(ie no
> errors) but I still don;t see any list activity.

I sent a test message and it sent a response saying my
message was in a queue waiting for the moderator. But
since that's me and it won't let me in, I can't approve
anything, So I assume there will be a bunch of stuff
just sitting in a queue waiting for a non-existent moderator.

I guess this proves the list is still there in some form!
Back to the postmaster to see how I get this fixed...

I do notice we seem to have moved to Mailman3 as a server,
perhaps it has something to do with the migration? It would
have been nice to be told though.

-- 
Alan G
Author of the Learn to Program web site
http://www.alan-g.me.uk/
http://www.amazon.com/author/alan_gauld
Follow my photo-blog on Flickr at:
http://www.flickr.com/photos/alangauldphotos


-- 
https://mail.python.org/mailman3//lists/python-list.python.org


Re: Python tutor mailing list?

2025-05-27 Thread dn via Python-list

Message received!

Hope you enjoyed your holiday...


On 28/05/25 12:00, Alan Gauld via Python-list wrote:

On 28/05/2025 00:32, Alan Gauld via Python-list wrote:


The archives are still there and the sign-up page seems to
work, but it doesn't recognise me. I tried signing up as
a new member with a different address and that seems to work(ie no
errors) but I still don;t see any list activity.


I sent a test message and it sent a response saying my
message was in a queue waiting for the moderator. But
since that's me and it won't let me in, I can't approve
anything, So I assume there will be a bunch of stuff
just sitting in a queue waiting for a non-existent moderator.

I guess this proves the list is still there in some form!
Back to the postmaster to see how I get this fixed...

I do notice we seem to have moved to Mailman3 as a server,
perhaps it has something to do with the migration? It would
have been nice to be told though.



--
Regards,
=dn

--
https://mail.python.org/mailman3//lists/python-list.python.org


Re: Searching for a file

2025-05-27 Thread Thomas Passin

On 5/27/2025 10:41 AM, Roland Mueller via Python-list wrote:

To get a list of files in a given directory one can use glob.glob and


The OP had a different problem.  He wanted to find a config file of 
known name that could be in one of several locations.



os.path.isfile


from os.path import isfile
from glob import glob
files_in_var_tmp = [f for f in glob('/var/tmp/*') if isfile(f) ]


For several directories iterate over the dirs and add the resulting list of
files.


tmp_files = []
for dir in ['/tmp', '/var/tmp']:

... tmp_files += [f for f in glob(dir + '/*')  if isfile(f) ]


ti 27.5.2025 klo 17.05 Peter J. Holzer (hjp-pyt...@hjp.at) kirjoitti:


On 2025-05-24 17:18:11 -0600, 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.


They don't give you "search in a list of directories" intrinsically, but
that's simple loop, bailing out on a match, no?


But they all read directories. For Rob's purpose this isn't necessary.
He just needs to test a fixed number of locations. Reading even one
directory (muss less recursively scanning a whole tree like os.walk
does) is just pointless extra work.

 hjp

--
_  | Peter J. Holzer| Story must make more sense than reality.
|_|_) ||
| |   | h...@hjp.at |-- Charles Stross, "Creative writing
__/   | http://www.hjp.at/ |   challenge!"
--
https://mail.python.org/mailman3//lists/python-list.python.org



--
https://mail.python.org/mailman3//lists/python-list.python.org


Python tutor mailing list?

2025-05-27 Thread Alan Gauld via Python-list
I am the moderator of the python tutor mailing list.
Or at least I was. It seems the tutor list has been deleted.
I came back from vacation to find that I can't access it.

Nobody told me anything in advance. I've tried emailing
postmaster but got no response.

I wonder if anyone here has any idea of what happened and why?
The list had quietened down a lot since its heyday but
there were still a few messages per month going to it.

The archives are still there and the sign-up page seems to
work, but it doesn't recognise me. I tried signing up as
a new member with a different address and that seems to work(ie no
errors) but I still don;t see any list activity.

So, is it just the case that the admins have unsubscribed
everyone on the list (again, this happened a few years ago)?

Puzzled,
-- 
Alan G
Author of the Learn to Program web site
http://www.alan-g.me.uk/
http://www.amazon.com/author/alan_gauld
Follow my photo-blog on Flickr at:
http://www.flickr.com/photos/alangauldphotos

-- 
https://mail.python.org/mailman3//lists/python-list.python.org