Heim  >  Artikel  >  Backend-Entwicklung  >  Wie lese ich rekursiv Dateien und schreibe Inhalte in Python-Ordnern?

Wie lese ich rekursiv Dateien und schreibe Inhalte in Python-Ordnern?

Barbara Streisand
Barbara StreisandOriginal
2024-10-18 14:39:02547Durchsuche

How to Recursively Read Files and Write Content in Python Folders?

Rekursives Lesen von Ordnern in Python

In Python können Betriebssystemoperationen wie das Suchen von Verzeichnissen und Dateien mit dem Betriebssystemmodul durchgeführt werden. Um Inhalte aus Dateien innerhalb einer Ordnerstruktur rekursiv zu lesen, können wir os.walk verwenden.

Der folgende Ausschnitt zeigt, wie Sie einen Ordner und seine Unterverzeichnisse rekursiv durchsuchen und Textdateien öffnen können, um deren Inhalte zu lesen:

<code class="python">import os

def read_folder_recursively(rootdir):
    for root, subdirs, files in os.walk(rootdir):
        for folder in subdirs:
            # Define the output file path within the current subfolder
            outfileName = os.path.join(root, folder, "py-outfile.txt")
            with open(outfileName, 'w') as folderOut:
                print("outfileName is " + outfileName)
                for file in files:
                    filePath = os.path.join(root, file)
                    with open(filePath, 'r') as f:
                        toWrite = f.read()
                        print("Writing '" + toWrite + "' to" + filePath)
                        folderOut.write(toWrite)
                    f.close()
            folderOut.close()</code>

Hier ist eine Aufschlüsselung des verbesserten Codes:

  • Verwenden Sie os.path.join, um Pfade zu verketten, anstatt Zeichenfolgen hinzuzufügen.
  • Öffnen Sie Dateien mit der with-Anweisung für Richtige Dateiverarbeitung.
  • Stellen Sie die richtige Einrückung und die richtigen Variablennamen sicher, um die Lesbarkeit des Codes zu gewährleisten.
  • Beseitigen Sie unnötige Schleifen, die im ursprünglichen Code Probleme verursacht haben.

Dies wurde aktualisiert Der Code verarbeitet mehrere Ordnertiefen korrekt, erstellt dynamisch Ausgabedateien in jedem Unterordner und schreibt effektiv Inhalte aus Textdateien in die Ausgabedateien.

Das obige ist der detaillierte Inhalt vonWie lese ich rekursiv Dateien und schreibe Inhalte in Python-Ordnern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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