首頁 >後端開發 >Python教學 >如何在 Python 中尋找檔案:os.walk 和檔案匹配綜合指南。

如何在 Python 中尋找檔案:os.walk 和檔案匹配綜合指南。

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-10-29 09:54:30574瀏覽

How to Find Files in Python: A Comprehensive Guide to os.walk and File Matching.

在 Python 中尋找檔案

在目錄樹中搜尋特定檔案是程式設計中的常見任務。在 Python 中,可以使用 os.walk 函數來實作。

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

尋找所有符合名稱

如果您需要尋找與給定名稱相符的所有文件,您可以修改find​​ 以將結果收集到清單中:

<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 中尋找檔案:os.walk 和檔案匹配綜合指南。的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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