[PYTHON] Generieren Sie alle Dateien mit einer bestimmten Erweiterung

Es leckt alle Dateien unter dem angegebenen Verzeichnis und gibt nur den Dateipfad der Datei mit der gewünschten Erweiterung als Generator zurück. Sie können os.walk verwenden.

Ich denke, es ist eine Operation, die ich oft benutze, aber ich vergesse sofort, wie man sie schreibt, also werde ich sie als Memo zu einer Funktion für die Zukunft machen. Es kann sowohl mit Python 2 als auch mit Python 3 verwendet werden.

import os


def walk_files_with(extension, directory='.'):
    """Generate paths of all files that has specific extension in a directory. 

    Arguments:
    extension -- [str] File extension without dot to find out
    directory -- [str] Path to target directory

    Return:
    filepath -- [str] Path to file found
    """
    for root, dirnames, filenames in os.walk(directory):
        for filename in filenames:
            if filename.lower().endswith('.' + extension):
                yield os.path.join(root, filename)

Eigentlich wird es so verwendet.

for filepath in walk_files_with('csv', './data/'):
    print(filepath)

Wenn Sie Python 3.4 oder höher haben, ist es möglicherweise klüger, "pathlib" zu verwenden.

Recommended Posts

Generieren Sie alle Dateien mit einer bestimmten Erweiterung
Auflisten von Dateien mit bestimmten Erweiterungen
Generieren Sie mit SciPy eine Normalverteilung
Generieren Sie eine vorsignierte URL mit golang
[Python] Generiere ein Passwort mit Slackbot
Suchen Sie nach Dateien mit der angegebenen Erweiterung
Verwenden Sie shutil, um alle Ordner mit einer kleinen Anzahl von Dateien zu löschen
Erstellen Sie einen Befehl zum Löschen aller temporären Dateien, die in einem bestimmten Ordner generiert wurden
[Python] Holen Sie sich die Dateien mit Python in den Ordner
Löschen und generieren Sie Seriennummerndateien mit einem Shell-Skript
Durchsuchen Sie rekursiv alle Dateien mit mehreren angegebenen Erweiterungen
Klonen Sie mit einem bestimmten Zweig / Tag in GitPython
Konfigurieren Sie ein Modul mit mehreren Dateien in Django
[Python] Benennen Sie alle Bilddateien in einem bestimmten Ordner nach Aufnahmedatum und -zeit um
Extrahieren Sie andere Elemente als einen bestimmten Index mit Numpy
Generieren Sie zufällige Sätze aus Ihren Tweets mit Trigramm
2 Möglichkeiten, alle CSV-Dateien in einem Ordner zu lesen
Wenden Sie conda's env mit pyenv-vertualenv auf ein bestimmtes Verzeichnis an
Stoppen Sie eine Instanz mit einem bestimmten Tag in Boto3
Laden Sie Dateien mit Django hoch
A4 Größe mit Python-Pptx
Geben Sie dem Befehl history ein Datum und eine Uhrzeit ein und sammeln Sie Verlaufsdateien aller Benutzer mit einem Skript
Mit Dekorateur dekorieren
Generieren Sie mit apg ein leicht zu merkendes Passwort
Installationsverfahren für Python und Ansible mit einer bestimmten Version
Erkennen Sie mit Python Objekte einer bestimmten Farbe und Größe
Verarbeiten Sie die Dateien im Ordner in der Reihenfolge mit dem Shell-Skript
So extrahieren Sie mit Numpy einen anderen als einen bestimmten Index
Löschen Sie alle auf pip installierten Bibliotheken mit einem einzigen Befehl