夹,使用filepath.Walk函数可以实现该功能。

示例代码:

package main

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

func main() {
	root := "upload.dir"
	err := filepath.Walk(root, func(path string, info os.FileInfo, err error) error {
		if err != nil {
			return err
		}

		if info.IsDir() {
			// 如果是二级子文件夹,打印路径并跳过该文件夹下的遍历
			if filepath.Dir(path) != root && filepath.Dir(filepath.Dir(path)) == root {
				fmt.Println("二级子文件夹:", path)
				return filepath.SkipDir
			}
			// 如果是根目录或一级子文件夹,继续遍历
			return nil
		}

		// 如果是文件,打印路径
		fmt.Println("文件:", path)

		return nil
	})

	if err != nil {
		fmt.Println(err)
	}
}

在上述示例代码中,程序通过调用filepath.Walk函数遍历upload.dir文件夹下的所有文件和文件夹。对于每个文件夹,程序判断其是否为二级子文件夹,如果是,则打印其路径并跳过该文件夹下的遍历;如果不是,则继续遍历该文件夹下的内容。对于每个文件,程序打印其路径。如果遍历过程中出现错误,程序会返回该错误

golang遍历uploaddir文件夹下所有的文件包裹二级子文件

原文地址: https://www.cveoy.top/t/topic/hhRK 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录