import fnmatch
import os
matches = []
for root, dirnames, filenames in os.walk('src'):
    for filename in fnmatch.filter(filenames, '*.c'):
        matches.append(os.path.join(root, filename))
Использовать Glob() для рекурсивного поиска файлов в Python?