Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Membaca Fail dan Menulis Kandungan secara Rekursif dalam Folder Python?

Bagaimana untuk Membaca Fail dan Menulis Kandungan secara Rekursif dalam Folder Python?

Barbara Streisand
Barbara Streisandasal
2024-10-18 14:39:02590semak imbas

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

Bacaan Folder Rekursif dalam Python

Dalam Python, operasi OS seperti mencari direktori dan fail boleh dilakukan dengan modul os. Untuk membaca kandungan daripada fail dalam struktur folder secara rekursif, kami boleh menggunakan os.walk.

Coretan di bawah menggambarkan cara anda boleh meneroka folder dan subdirektorinya secara rekursif, membuka fail teks untuk membaca kandungannya:

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

Berikut ialah pecahan kod yang dipertingkatkan:

  • Gunakan os.path.join untuk menggabungkan laluan dan bukannya penambahan rentetan.
  • Buka fail menggunakan pernyataan dengan untuk pengendalian fail yang betul.
  • Pastikan lekukan yang betul dan nama pembolehubah untuk mengekalkan kebolehbacaan kod.
  • Hapuskan gelung yang tidak perlu yang menyebabkan isu dalam kod awal.

Ini dikemas kini kod mengendalikan berbilang kedalaman folder dengan betul, mencipta fail output secara dinamik dalam setiap subfolder dan menulis kandungan daripada fail teks dengan berkesan ke dalam fail output.

Atas ialah kandungan terperinci Bagaimana untuk Membaca Fail dan Menulis Kandungan secara Rekursif dalam Folder Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn