30 lines
1.1 KiB
Python
30 lines
1.1 KiB
Python
# import the necessary packages
|
|
import os
|
|
|
|
image_types = (".jpg", ".jpeg", ".png", ".bmp", ".tif", ".tiff")
|
|
|
|
|
|
def list_images(basePath, contains=None):
|
|
# return the set of files that are valid
|
|
return list_files(basePath, validExts=image_types, contains=contains)
|
|
|
|
|
|
def list_files(basePath, validExts=None, contains=None):
|
|
# loop over the directory structure
|
|
for (rootDir, dirNames, filenames) in os.walk(basePath):
|
|
# loop over the filenames in the current directory
|
|
for filename in filenames:
|
|
# if the contains string is not none and the filename does not contain
|
|
# the supplied string, then ignore the file
|
|
if contains is not None and filename.find(contains) == -1:
|
|
continue
|
|
|
|
# determine the file extension of the current file
|
|
ext = filename[filename.rfind("."):].lower()
|
|
|
|
# check to see if the file is an image and should be processed
|
|
if validExts is None or ext.endswith(validExts):
|
|
# construct the path to the image and yield it
|
|
imagePath = os.path.join(rootDir, filename)
|
|
yield imagePath
|