[Tutor] Filename match on file extensions
Dave Wilder
D.Wilder at F5.com
Wed Oct 3 08:07:55 CEST 2012
Awesome! Thank you for the great info gentlemen. It should be an easy fix from here.
-----Original Message-----
From: Tutor [mailto:tutor-bounces+d.wilder=f5.com at python.org] On Behalf Of Steven D'Aprano
Sent: Wednesday, October 03, 2012 1:49 AM
To: tutor at python.org
Subject: Re: [Tutor] Filename match on file extensions
On Wed, Oct 03, 2012 at 03:14:16AM +0000, Dave Wilder wrote:
>
> Hello,
>
> Below is a snippet of a search I want to do for any file that contains the string "quarantine" in the filename.
> It works for picking up any file name containing "quarantine" except when "quarantine" is used as an extension.
Incorrect. It only picks up filenames that *begin* with "quarantine".
The critical code is:
i.lower().find("quarantine".lower()) == 0
which matches:
quarantineblahblahblah.txt
but not
blahblahquarantineblah.txt
The correct test for matching anywhere in the string is:
"quarantine" in i.lower()
By the way, it is misleading to call your loop variable "i". By convention, i is used for integer loop variables. Since your loop variable in this case is a file name, I would name it "filename":
for filename in files:
if "quarantine" in filename.lower():
...
Also, you might consider using the "glob" module, which is good for finding filenames matching so-called globs:
"quarantine*.txt"
matches file names starting with quarantine, ending with .txt, and anything at all in between.
--
Steven
_______________________________________________
Tutor maillist - Tutor at python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor
More information about the Tutor
mailing list