Re: Searching for a file
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
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
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?
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?
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
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?
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