如何在Python中遞歸地從子資料夾中檢索檔案?

Linda Hamilton
發布: 2024-10-29 23:13:29
原創
162 人瀏覽過

How to Retrieve Files from Subfolders Recursively in Python?

從子資料夾遞迴擷取檔案

問題陳述

Python 腳本在遞歸搜尋子資料夾時遇上到問題具有特定擴展名的檔案。該腳本旨在創建找到的文件的列表,但腳本檢索到的子資料夾位於列表中,而不是代表包含找到的文件的資料夾。

解決方案

要解決此問題,應使用所提供程式碼中的「root」變數表示的 dirpath,而不是 subFolder 變數。 dirpath 包含所定位檔案所在目錄的絕對路徑。

程式碼片段

以下修改後的Python 程式碼示範了dirpath 的正確用法:

<code class="python">import os
result = [os.path.join(dp, f) for dp, dn, filenames in os.walk(PATH) for f in filenames if os.path.splitext(f)[1] == '.txt']</code>
登入後複製

透過採用此修改,程式碼將有效地遞歸遍歷子資料夾並建立具有所需副檔名的檔案列表,每個檔案路徑包括其所屬的資料夾。

其他選項

除了主要解決方案之外,還提供了使用glob 模組或Python 3.4 及更高版本的Python 內建pathlib 模組的替代方法,以提供更全面的選項。

結論

修改後的腳本可以準確識別並列出指定資料夾及其子資料夾中具有指定副檔名的文件,為Python 中的遞歸文件搜尋提供強大的解決方案。

以上是如何在Python中遞歸地從子資料夾中檢索檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!