Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Gunakan fungsi path/filepath.Glob untuk menyenaraikan senarai laluan fail bagi mod yang ditentukan dan mengembalikan senarai objek maklumat fail dan mesej ralat

Gunakan fungsi path/filepath.Glob untuk menyenaraikan senarai laluan fail bagi mod yang ditentukan dan mengembalikan senarai objek maklumat fail dan mesej ralat

WBOY
WBOYasal
2023-07-24 19:53:271475semak imbas

Tajuk: Bahasa Go menggunakan fungsi path/filepath.Glob untuk mendapatkan senarai laluan fail dan maklumat fail

Pengenalan:
Semasa proses pembangunan, kita selalunya perlu mendapatkan senarai laluan fail bagi corak yang ditentukan dan mendapatkan maklumat terperinci daripada fail yang sepadan pada masa yang sama. Pakej laluan/laluan fail bagi bahasa Go menyediakan fungsi Glob untuk memenuhi keperluan ini. Artikel ini akan memperkenalkan cara menggunakan fungsi Glob untuk menyenaraikan senarai laluan fail dalam corak yang ditentukan dan mengembalikan senarai objek maklumat fail dan mesej ralat pada masa yang sama.

1. Pakej laluan/laluan fail
Pakej laluan/laluan fail yang disediakan oleh bahasa Go terletak dalam pustaka standard. Ia melaksanakan beberapa operasi biasa pada laluan dan nama fail. Fungsi Glob boleh memadankan laluan fail bagi corak yang ditentukan dan mengembalikan senarai laluan fail yang sepadan.

2. Gunakan fungsi Glob untuk mendapatkan senarai laluan fail
Di bawah kami menggunakan contoh mudah untuk menunjukkan cara menggunakan fungsi Glob untuk mendapatkan senarai laluan fail. Kami menganggap bahawa kami perlu mendapatkan senarai semua laluan fail dengan akhiran ".txt" dalam direktori yang ditentukan.

Kod sampel adalah seperti berikut:

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)
    }
}

Dalam kod di atas, mula-mula kita tentukan direktori dir dan kemudian gunakan fungsi filepath.Join untuk menyambung direktori laluan dan corak untuk menjana Padanan corak corak. Seterusnya, kami memanggil fungsi filepath.Glob dan masukkan corak pattern untuk mendapatkan senarai laluan fail filePaths. Akhir sekali, kami mencetak semua laluan fail dengan mengulangi senarai. 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 Kembalikan senarai objek maklumat fail dan mesej ralat

Semasa mendapatkan senarai laluan fail, kami juga boleh mendapatkan maklumat terperinci setiap fail. Dapatkan maklumat fail bagi laluan yang ditentukan dengan memanggil fungsi os.Stat. Seterusnya, kami menambah baik kod sampel di atas untuk mendapatkan senarai objek maklumat fail dan maklumat ralat.

Kod sampel adalah seperti berikut: 🎜rrreee🎜Dalam kod di atas, semasa mendapatkan senarai laluan fail, kami menggelung melalui setiap laluan fail, dan kemudian memanggil fungsi os.Stat untuk mendapatkan butiran terperinci maklumat fail yang sepadan. Simpan maklumat tentang setiap fail dalam senarai fileInfos. Akhir sekali, kami mencetak laluan fail dan butiran dengan melintasi senarai. 🎜🎜Tamat: 🎜Artikel ini memperkenalkan cara menggunakan fungsi Glob dalam pakej laluan/laluan fail bahasa Go untuk mendapatkan senarai laluan fail bagi corak yang ditentukan, dan mengembalikan senarai objek maklumat fail dan mesej ralat pada masa yang sama. Melalui penjelasan contoh kod, pembaca boleh lebih memahami dan menggunakan fungsi ini untuk memenuhi keperluan pembangunan mereka sendiri. Semoga artikel ini bermanfaat kepada pembaca. 🎜

Atas ialah kandungan terperinci Gunakan fungsi path/filepath.Glob untuk menyenaraikan senarai laluan fail bagi mod yang ditentukan dan mengembalikan senarai objek maklumat fail dan mesej ralat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn