Python, wie man so etwas wie das .gitignore-Verhalten implementiert

Ich muss alle Dateien im aktuellen Verzeichnis (.) Auflisten (einschließlich aller Unterverzeichnisse) und einige Dateien ausschließen, wie .gitignore funktioniert (http://git-scm.com/docs/gitignore)

Mit fnmatch (https://docs.python.org/2/library/fnmatch.html) Ich kann Dateien anhand eines Musters "filtern"

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))

Wie kann ich "filtern" und alle Dateien abrufen, die nicht mit einem oder mehreren Elementen meiner "ignore_files" übereinstimmen?

Vielen Dank!

Antworten auf die Frage(2)

Ihre Antwort auf die Frage