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.

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.

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBoriginal
2023-07-24 19:53:271568parcourir

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

3. Renvoie la liste des objets d'informations sur le fichier et le message d'erreur

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.

L'exemple de code est le suivant : 🎜rrreee🎜Dans le code ci-dessus, tout en obtenant la liste des chemins de fichier, nous parcourons chaque chemin de fichier, puis appelons la fonction 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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn