Count number of files with certain extension in Python

Solution 1:

Something has to iterate over all files in the directory, and look at every single file name - whether that's your code or a library routine. So no matter what the specific solution, they will all have roughly the same cost.

If you think it's too much code, and if you don't actually need to search subdirectories recursively, you can use the glob module:

import glob
tifCounter = len(glob.glob1(myPath,"*.tif"))

Solution 2:

For this particular use case, if you don't want to recursively search in the subdirectory, you can use os.listdir:

len([f for f in os.listdir(myPath) 
     if f.endswith('.tif') and os.path.isfile(os.path.join(myPath, f))])