タイトル: Go 言語は path/filepath.Glob 関数を使用してファイル パス リストとファイル情報を取得します
はじめに:
開発プロセス中、多くの場合、ファイル パス リストを取得する必要があります。指定したパターンを取得すると同時に、対応するファイルの詳細を取得します。 Go 言語の path/filepath パッケージは、この要件を満たす Glob 関数を提供します。この記事では、Glob 関数を使用して、指定したパターンでファイル パスのリストを一覧表示し、同時にファイル情報オブジェクトとエラー メッセージのリストを返す方法を紹介します。
1. パス/ファイルパス パッケージ
Go 言語が提供するパス/ファイルパス パッケージは、パスとファイル名に対するいくつかの一般的な操作を実装する標準ライブラリにあります。 Glob 関数は、指定されたパターンのファイル パスと一致し、一致するファイル パスのリストを返すことができます。
2. Glob 関数を使用してファイル パス リストを取得する
以下では、簡単な例を使用して、Glob 関数を使用してファイル パス リストを取得する方法を示します。指定されたディレクトリ内のサフィックス「.txt」を持つすべてのファイル パスのリストを取得する必要があると仮定します。
サンプル コードは次のとおりです。
package main import ( "fmt" "path/filepath" ) func main() { // 指定目录 dir := "./path/to/dir" // 模式匹配 pattern := filepath.Join(dir, "*.txt") // 获取匹配的文件路径列表 filePaths, err := filepath.Glob(pattern) if err != nil { fmt.Println("获取文件路径列表失败:", err) return } // 打印文件路径列表 fmt.Println("文件路径列表:") for _, filePath := range filePaths { fmt.Println(filePath) } }
上記のコードでは、最初にディレクトリ dir
を指定し、次に filepath.Join## を使用します。 # ディレクトリパスを結合する関数 パターンと結合して、一致するパターン
pattern を生成します。次に、
filepath.Glob 関数を呼び出し、パターン
pattern を渡して、ファイル パス リスト
filePaths を取得します。最後に、リストを反復処理してすべてのファイル パスを出力します。
ファイルパス一覧を取得すると同時に、各ファイルの詳細情報も取得できます。
os.Stat 関数を呼び出して、指定したパスのファイル情報を取得します。次に、上記のサンプルコードを改良して、ファイル情報オブジェクトの一覧とエラー情報を取得します。
package main import ( "fmt" "os" "path/filepath" ) func main() { // 指定目录 dir := "./path/to/dir" // 模式匹配 pattern := filepath.Join(dir, "*.txt") // 获取匹配的文件路径列表 filePaths, err := filepath.Glob(pattern) if err != nil { fmt.Println("获取文件路径列表失败:", err) return } // 获取文件信息列表 var fileInfos []os.FileInfo for _, filePath := range filePaths { fileInfo, err := os.Stat(filePath) if err != nil { fmt.Println("获取文件信息失败:", err) continue } fileInfos = append(fileInfos, fileInfo) } // 打印文件路径及信息 fmt.Println("文件路径及信息:") for i, filePath := range filePaths { fileInfo := fileInfos[i] fmt.Println("文件路径:", filePath) fmt.Println("文件大小:", fileInfo.Size()) fmt.Println("文件修改时间:", fileInfo.ModTime()) fmt.Println("文件权限:", fileInfo.Mode().String()) } }上記のコードでは、ファイル パス リストを取得する際に、各ファイル パスをループして、
os.Stat# を呼び出します。 ## 対応するファイルの詳細を取得する関数。各ファイルの情報を fileInfos
リストに保存します。最後に、リストをたどってファイル パスと詳細を出力します。 終了:
以上がpath/filepath.Glob 関数を使用して、指定されたモードのファイル パス リストを一覧表示し、ファイル情報オブジェクト リストとエラー メッセージを返します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。