Python, как реализовать что-то вроде поведения .gitignorePython

Программы на Python
Anonymous
Python, как реализовать что-то вроде поведения .gitignore

Сообщение Anonymous »

Мне нужно перечислить все файлы в текущем каталоге (.) (включая все подкаталоги) и исключить некоторые файлы, как работает .gitignore (http://git-scm.com/docs/gitignore)

С помощью fnmatch (https://docs.python.org/2/library/fnmatch.html) я смогу «фильтровать» файлы по шаблону

Код: Выделить всё

ignore_files = ['*.jpg', 'foo/', 'bar/hello*']
matches = []
for root, dirnames, filenames in os.walk('.'):
for filename in fnmatch.filter(filenames, '*'):
matches.append(os.path.join(root, filename))
как я могу «фильтровать» и получать все файлы, которые не соответствуют одному или нескольким элементам моего «ignore_files»?

Спасибо!

Вернуться в «Python»