Maison >développement back-end >Golang >Utilisez la fonction path/filepath.Glob pour répertorier la liste des chemins de fichier du mode spécifié et renvoyer la liste des objets d'informations sur le fichier et le message d'erreur.
Titre : Le langage Go utilise la fonction path/filepath.Glob pour obtenir la liste des chemins de fichier et les informations sur les fichiers
Introduction :
Pendant le processus de développement, nous avons souvent besoin d'obtenir la liste des chemins de fichier du modèle spécifié et d'obtenir les informations détaillées du fichier correspondant en même temps. Le package path/filepath du langage Go fournit la fonction Glob pour répondre à cette exigence. Cet article explique comment utiliser la fonction Glob pour répertorier une liste de chemins de fichiers dans un modèle spécifié et renvoyer simultanément une liste d'objets d'informations sur les fichiers et de messages d'erreur.
1. Package Path/filepath
Le package path/filepath fourni par le langage Go se trouve dans la bibliothèque standard. Il implémente certaines opérations courantes sur les chemins et les noms de fichiers. La fonction Glob peut faire correspondre le chemin de fichier du modèle spécifié et renvoyer une liste de chemins de fichiers correspondants.
2. Utilisez la fonction Glob pour obtenir la liste des chemins de fichiers
Ci-dessous, nous utilisons un exemple simple pour montrer comment utiliser la fonction Glob pour obtenir la liste des chemins de fichiers. Nous supposons que nous devons obtenir une liste de tous les chemins de fichiers avec « .txt » comme suffixe dans le répertoire spécifié.
L'exemple de code est le suivant :
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) } }
Dans le code ci-dessus, nous spécifions d'abord un répertoire dir
, puis utilisons la fonction filepath.Join
pour fusionner le répertoire chemin et modèle pour générer le modèle correspondant motif
. Ensuite, nous appelons la fonction filepath.Glob
et transmettons le modèle pattern
pour obtenir la liste des chemins de fichiers filePaths
. Enfin, nous imprimons tous les chemins de fichiers en parcourant la liste. 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
Lors de l'obtention de la liste des chemins de fichier, nous pouvons également obtenir les informations détaillées de chaque fichier. Obtenez les informations de fichier du chemin spécifié en appelant la fonction os.Stat
. Ensuite, nous améliorons l’exemple de code ci-dessus pour obtenir la liste des objets d’informations sur le fichier et les informations sur les erreurs.
os.Stat
pour obtenir le détail informations du fichier correspondant. Stockez les informations sur chaque fichier dans la liste fileInfos
. Enfin, nous imprimons le chemin du fichier et les détails en parcourant la liste. 🎜🎜Fin : 🎜Cet article explique comment utiliser la fonction Glob dans le package path/filepath du langage Go pour obtenir la liste des chemins de fichier du modèle spécifié et renvoyer la liste des objets d'informations sur le fichier et le message d'erreur en même temps. Grâce à l'explication d'exemples de code, les lecteurs peuvent mieux comprendre et utiliser cette fonction pour répondre à leurs propres besoins de développement. J'espère que cet article sera utile aux lecteurs. 🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!