Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich mit Python effizient Dateien in einem Verzeichnis durchlaufen?

Wie kann ich mit Python effizient Dateien in einem Verzeichnis durchlaufen?

DDD
Freigeben: 2024-12-16 21:42:14
Original
442 Leute haben es durchsucht

How Can I Efficiently Iterate Through Files in a Directory Using Python?

Iterieren über Dateien in einem Verzeichnis

Einführung:
Das Iterieren über Dateien in einem Verzeichnis ist von entscheidender Bedeutung Aufgabe für verschiedene Softwareanwendungen. Dieser Artikel bietet effiziente Ansätze, um dies mit Python zu erreichen, und diskutiert sowohl Python 3.6 als auch rekursive Pathlib-Methoden.

Lösung für Python 3.6 mit Betriebssystem:

  1. Betriebssystem importieren um auf das Betriebssystemmodul zuzugreifen.
  2. Definieren Sie den Verzeichnispfad als String-Objekt in der Variablen Verzeichnis_in_str.
  3. Verwenden Sie os.listdir(Verzeichnis), um alle Dateien im Verzeichnis aufzulisten.
  4. Durchlaufen Sie jede Datei mit einer for-Schleife und extrahieren Sie ihren Dateinamen mit os.fsdecode(Datei).
  5. Überprüfen Sie die Dateierweiterung mithilfe von „Endswith(".asm") oder Endswith(".py"), um Dateien zu identifizieren Interesse.
  6. Notwendige Aktionen an den identifizierten Dateien durchführen.

Codebeispiel:

import os

directory = os.fsencode(directory_in_str)
    
for file in os.listdir(directory):
    filename = os.fsdecode(file)
    if filename.endswith(".asm") or filename.endswith(".py"): 
        # print(os.path.join(directory, filename))
        continue
    else:
        continue
Nach dem Login kopieren

Lösung Mit pathlib für Rekursive Iteration:

  1. Pfad aus der Pathlib importieren Modul.
  2. Erstellen Sie eine Pfadliste, indem Sie Path.glob('**/*.asm') oder Path.rglob('*.asm') im Verzeichnispfad aufrufen.
  3. Iterieren Sie darüber jeden Pfad in der Pfadliste.
  4. Konvertieren Sie jedes Pfadobjekt in eine Zeichenfolge, indem Sie str(path) für weitere Zwecke verwenden Verarbeitung.

Codebeispiel:

from pathlib import Path

pathlist = Path(directory_in_str).glob('**/*.asm')
for path in pathlist:
    # because path is object not string
    path_in_str = str(path)   
    # print(path_in_str)
Nach dem Login kopieren

Diese Methoden bieten effektive Lösungen für die Iteration über Dateien in einem bestimmten Verzeichnis, sodass Entwickler verschiedene Vorgänge daran ausführen können spezifische Dateitypen effizient.

Das obige ist der detaillierte Inhalt vonWie kann ich mit Python effizient Dateien in einem Verzeichnis durchlaufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage