[Tutor] Filename match on file extensions
steve at pearwood.info
Wed Oct 3 07:49:07 CEST 2012
On Wed, Oct 03, 2012 at 03:14:16AM +0000, Dave Wilder wrote:
> 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
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:
matches file names starting with quarantine, ending with .txt, and
anything at all in between.
More information about the Tutor