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

Программы на Python
Ответить
Anonymous
 Как реализовать что-то вроде поведения .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»?
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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