首頁  >  文章  >  後端開發  >  如何遞歸讀取Python資料夾中的檔案並寫入內容?

如何遞歸讀取Python資料夾中的檔案並寫入內容?

Barbara Streisand
Barbara Streisand原創
2024-10-18 14:39:02547瀏覽

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

Python 中的遞歸資料夾讀取

在 Python 中,查找目錄和檔案等作業系統操作可以透過 os 模組完成。要從資料夾結構中的檔案遞歸讀取內容,我們可以利用 os.walk。

下面的程式碼片段說明如何遞歸地探索資料夾及其子目錄,開啟文字檔案來讀取其內容:

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

以下是改進程式碼的詳細說明:

  • 使用os.path.join 來連接路徑而不是字串添加。
  • 使用 with 語句開啟檔案正確的檔案處理。
  • 確保正確的縮排和變數名稱以保持程式碼的可讀性。
  • 消除在初始程式碼中導致問題的不必要的循環。

此更新程式碼正確處理多個資料夾深度,在每個子資料夾中動態建立輸出文件,並有效地將文字檔案中的內容寫入輸出檔案。

以上是如何遞歸讀取Python資料夾中的檔案並寫入內容?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn