當檔案的位置在不同系統中不同時,在 Python 中尋找檔案可能是一個挑戰。幸運的是,Python 提供了 os.walk 模組,讓您可以輕鬆遍歷目錄並定位檔案。
os.walk 用於檔案搜尋
os.walk 建立一個產生器迭代目錄及其子目錄的對象,每次迭代產生三個元組:
尋找單一檔案
尋找第一次出現特定檔案時,只需迭代產生的元群組並檢查檔案名稱是否在文件清單中:
<code class="python">import os def find(name, path): for root, dirs, files in os.walk(path): if name in files: return os.path.join(root, name)</code>
尋找檔案的所有出現
要找出檔案的所有出現位置,請建立一個清單來儲存符合項目:
<code class="python">def find_all(name, path): result = [] for root, dirs, files in os.walk(path): if name in files: result.append(os.path.join(root, name)) return result</code>
符合檔案模式
要搜尋符合的檔案模式,使用fnmatch 模組:
<code class="python">import os, fnmatch def find(pattern, path): result = [] for root, dirs, files in os.walk(path): for name in files: if fnmatch.fnmatch(name, pattern): result.append(os.path.join(root, name)) return result find('*.txt', '/path/to/dir')</code>
以上是如何使用Python有效率地跨多個目錄搜尋檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!