Alle Dateien in einem Verzeichnis mit der Erweiterung .txt in Python finden

Wie kann ich in Python alle Dateien in einem Verzeichnis mit der Erweiterung .txt finden?

Lösung

Sie können glob verwenden:

import glob, os
os.chdir("/mydir")
for file in glob.glob("*.txt"):
    print(file)

oder einfach os.listdir:

import os
for file in os.listdir("/mydir"):
    if file.endswith(".txt"):
        print(os.path.join("/mydir", file))

oder wenn Sie ein Verzeichnis durchlaufen wollen, verwenden Sie os.walk:

import os
for root, dirs, files in os.walk("/mydir"):
    for file in files:
        if file.endswith(".txt"):
             print(os.path.join(root, file))
Kommentare (21)

Verwenden Sie glob.

>>> import glob
>>> glob.glob('./*.txt')
['./outline.txt', './pip-log.txt', './test.txt', './testingvim.txt']
Kommentare (4)

Etwas in dieser Art sollte die Aufgabe erfüllen

for root, dirs, files in os.walk(directory):
    for file in files:
        if file.endswith('.txt'):
            print file
Kommentare (4)