首頁 >後端開發 >Golang >使用path/filepath.Glob函數列出指定模式的檔案路徑列表,並傳回檔案資訊物件列表

使用path/filepath.Glob函數列出指定模式的檔案路徑列表,並傳回檔案資訊物件列表

PHPz
PHPz原創
2023-07-25 17:00:251697瀏覽

標題:使用path/filepath.Glob函數列出指定模式的檔案路徑列表,並傳回檔案資訊物件列表

在Go語言中,我們可以使用path/filepath套件中的Glob函數來列出指定模式檔案的路徑列表,並傳回檔案資訊物件列表。這在需要對某一目錄下的特定類型檔案進行處理時非常有用。本文將介紹Glob函數的使用方法,並提供對應的程式碼範例。

Glob函數透過指定的模式在檔案系統中搜尋符合的文件,並傳回符合條件的檔案路徑清單。在搜尋檔案時,模式中可以使用通配符來匹配檔案名,例如:*表示符合任意個任意字符,?表示符合一個任意字符,[abc] 表示符合字元abc等。此外,也可以使用**來表示符合任意層級的子目錄。

下面是一個簡單的程式碼範例,示範如何使用Glob函數來列出某一目錄下所有以.txt為後綴的檔案路徑列表,並傳回文件資訊對象列表。

package main

import (
    "fmt"
    "os"
    "path/filepath"
)

func main() {
    files, err := filepath.Glob("dir/*.txt")
    if err != nil {
        fmt.Println("无法读取文件路径:", err)
        os.Exit(1)
    }

    var fileInfos []os.FileInfo
    for _, file := range files {
        fileInfo, err := os.Stat(file)
        if err != nil {
            fmt.Println("无法读取文件信息:", err)
            os.Exit(1)
        }
        fileInfos = append(fileInfos, fileInfo)
    }

    fmt.Println("文件路径列表:")
    for _, file := range files {
        fmt.Println(file)
    }

    fmt.Println("文件信息列表:")
    for _, fileInfo := range fileInfos {
        fmt.Println(fileInfo.Name(), fileInfo.Size(), fileInfo.Mode(), fileInfo.ModTime())
    }
}

在上述範例中,首先使用Glob函數來取得所有滿足指定模式的檔案路徑列表,模式為dir/*.txt,即表示匹配dir目錄下以.txt為後綴的所有檔案。然後,使用os.Stat函數取得每個檔案的檔案資訊對象,並將其儲存在fileInfos清單中。最後,分別列印文件路徑清單和文件資訊列表。

透過上述範例,我們可以了解到如何使用Glob函數來方便地列出滿足指定模式的檔案路徑,並透過os.Stat函數取得文件資訊.這對於需要對特定類型的文件進行批量處理或統計資訊等操作非常有幫助。

總結起來,本文透過介紹path/filepath套件中的Glob函數,以及透過程式碼範例示範如何使用該函數來列出指定模式的文件路徑列表,並返回檔案資訊物件列表。希望本文能對你在Go語言開發中需要處理檔案路徑和檔案資訊的場景有所幫助。

以上是使用path/filepath.Glob函數列出指定模式的檔案路徑列表,並傳回檔案資訊物件列表的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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