首頁 > 後端開發 > Python教學 > 如何使用Python有效率地跨多個目錄搜尋檔案?

如何使用Python有效率地跨多個目錄搜尋檔案?

Linda Hamilton
發布: 2024-10-29 02:35:29
原創
943 人瀏覽過

How can I use Python to efficiently search for files across multiple directories?

在 Python 中尋找檔案

當檔案的位置在不同系統中不同時,在 Python 中尋找檔案可能是一個挑戰。幸運的是,Python 提供了 os.walk 模組,讓您可以輕鬆遍歷目錄並定位檔案。

os.walk 用於檔案搜尋

os.walk 建立一個產生器迭代目錄及其子目錄的對象,每次迭代產生三個元組:

  • root (str):目前目錄的絕對路徑
  • dirs (list):清單目前目錄中的子目錄
  • 檔案(清單):目前目錄中的檔案清單

尋找單一檔案

尋找第一次出現特定檔案時,只需迭代產生的元群組並檢查檔案名稱是否在文件清單中:

<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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板