[PYTHON] So listen Sie Dateien im angegebenen Verzeichnis auf (Suche nach mehreren Bedingungen / Unterverzeichnissen)

Nehmen Sie das Verzeichnis an, in dem sich die Dateien befinden (siehe unten).

c:\pics\
	a.png
	b.jpg
	subfolder\
		c.png
		d.jpg

Code

Ich habe eine Funktion wie diese gemacht. "Exts" ist eine Dateierweiterung, aber ich denke, es wird auch funktionieren, wenn Sie andere Bedingungen als die Erweiterung angeben.


from pathlib import Path


def file_search(file_path, exts, search_subfolder):
    """
    # file_path:Verzeichnis zu suchen
    # exts:Dateierweiterung(Beispiel:['*.jpg', '*.png']
    """
    files = []
    p = Path(file_path)
    for ext in exts:
        if search_subfolder:
            files.extend(list(p.glob('**\\'+ext)))
        else:
            files.extend(list(p.glob(ext)))
    return files

Ich werde es von main so nennen.


def main():
    file_path = r'C:\pics' + '\\'
    exts = ['*.jpg', '*.png']

    files = file_search(file_path, exts, True)
    pprint(files)

Ausführungsergebnis

py searchpic.py

[WindowsPath('C:/pics/b.jpg'),
 WindowsPath('C:/pics/subfolder/d.jpg'),
 WindowsPath('C:/pics/a.png'),
 WindowsPath('C:/pics/subfolder/c.png')]

Deshalb konnte ich im Unterordner nach Dateien mit mehreren Erweiterungen suchen. In diesem Fall ist der Inhalt der zurückgegebenen Dateien WindowsPath und keine Zeichenfolge. Für Dateien, wenn Zeichenfolgen bequemer sind


files_str = list(map(lambda x: str(x), files))

Sie können eine Liste von Zeichenfolgen erstellen, indem Sie sie wie folgt konvertieren.

Recommended Posts

So listen Sie Dateien im angegebenen Verzeichnis auf (Suche nach mehreren Bedingungen / Unterverzeichnissen)
So erhalten Sie mit Python eine Liste der Dateien im selben Verzeichnis
So löschen Sie mehrere angegebene Positionen (Indizes) in einer Python-Liste
Verwendung des Befehls grep zum rekursiven Durchsuchen von Verzeichnissen und Dateien bis zu einer bestimmten Tiefe
So erhalten Sie den letzten (letzten) Wert in einer Liste in Python
So zeigen Sie eine bestimmte Dateispalte unter Linux an (awk)
So löschen Sie einen Taple in einer Liste (Python)
Löschen Sie alle pyc-Dateien im angegebenen Verzeichnis
So erhalten Sie die Dateien im Ordner [Python]
Durchsuchen Sie das angegebene Verzeichnis rekursiv, um die Datei anzuzeigen
So lesen Sie Dateien in verschiedenen Verzeichnissen
Lesen aller in * .py enthaltenen Klassen in dem von Python angegebenen Verzeichnis
Ich möchte eine Liste der WebDAV-Dateien im Modul Anfragen anzeigen
Wie Sie das aktuelle Verzeichnis in Python in Blender kennen
So verweisen Sie auf statische Dateien in einem Django-Projekt
[Python] So geben Sie Listenwerte der Reihe nach aus
Wie identifiziere ich das Element mit der geringsten Anzahl von Zeichen in einer Python-Liste?
So überprüfen Sie in Python, ob sich eines der Elemente einer Liste in einer anderen Liste befindet
So finden Sie das erste Element, das den Kriterien in der Python-Liste entspricht
So schneiden Sie ein Block-Multiple-Array aus einem Multiple-Array in Python
So definieren Sie mehrere Variablen in einer Python for-Anweisung
So generieren Sie eine Abfrage mit dem IN-Operator in Django
So erhalten Sie eine Liste der integrierten Ausnahmen für Python
So verbinden Sie den Inhalt der Liste mit einer Zeichenfolge
Ruft den Wert eines bestimmten Schlüssels bis zum angegebenen Index der Wörterbuchliste in Python ab
Übergeben des Ausführungsergebnisses eines Shell-Befehls in einer Liste in Python (nicht blockierende Version)
[sh] Das Speichern der Befehlsausführung führt zu Variablen
So bestimmen Sie die Existenz eines Selenelements in Python
So vergleichen Sie Listen und rufen allgemeine Elemente in einer Liste ab
So erhalten Sie alle möglichen Werte in einem regulären Ausdruck
Suchen Sie den Dateinamen einschließlich des angegebenen Wortes und der angegebenen Erweiterung im Verzeichnis
So überprüfen Sie die Speichergröße einer Variablen in Python
[Einführung in Python] Wie verwende ich den Operator in in der for-Anweisung?
So überprüfen Sie die Speichergröße eines Wörterbuchs in Python
So ermitteln Sie die Scheitelpunktkoordinaten eines Features in ArcPy
[Ln] Das Einfügen des symbolischen Links des Verzeichnisses ist kompliziert
Für Windows: Ruft eine Liste der Verzeichnisse und Dateien in einem bestimmten Verzeichnis ab.
Listen Sie alle Dateien im aktuellen Verzeichnis Zeile für Zeile mit vollständigem Pfad auf
So geben Sie eine .ui-Datei in der Dialog- / Widget-GUI in PySide an
[Python] So fügen Sie eine beliebige Anzahl von Standardeingaben in die Liste ein
[Einführung in Python] So sortieren Sie den Inhalt einer Liste effizient mit Listensortierung
[Linux] Ein Befehl zum Abrufen einer Liste der in der Vergangenheit ausgeführten Befehle
Ich möchte eine Liste in der Reihenfolge anderer Listen sortieren
[Einführung in Python] So löschen Sie Zeilen, die mehrere Bedingungen in Pandas.DataFrame erfüllen
So schreiben Sie eine Zeichenfolge, wenn Python mehrere Zeilen enthält
So formatieren Sie eine Liste von Wörterbüchern (oder Instanzen) in Python
Sortieren durch Angabe einer Spalte im Python Numpy-Array.
[Python] So konvertieren Sie eine zweidimensionale Liste in eine eindimensionale Liste
Ändern Sie die Liste in der for-Anweisung
Wie bekomme ich Stacktrace in Python?
Lesen von CSV-Dateien mit Pandas
Ich wollte die Anzahl der Zeilen in mehreren Dateien wissen und versuchte, sie mit einem Befehl abzurufen
[Entpacken] So dekomprimieren Sie nur beliebige Dateien von Dateien mit umgekehrten Verzeichnisbegrenzern in Zip-Dateien
Wie kann man in Go so etwas wie eine Liste von void * (oder Variantentypen) erreichen?
So zählen Sie die Anzahl der Elemente in Django und geben sie in die Vorlage aus
Ein Memorandum zur Ausführung des Befehls! Sudo magic in Jupyter Notebook
Suchen Sie im aktuellen Verzeichnis nach Dateien mit dem Zeilenvorschubcode CR + LF
So erstellen Sie einen Raspberry Pi, der die Tweets eines bestimmten Benutzers spricht