猿问

FileInfo.IsDir() 未检测目录

我有一些代码遍历目录以获取文件,对它们进行操作并IsDir()用于跳过目录。但是,未正确检测到目录:


err = filepath.Walk(dir, func(path string, f os.FileInfo, err error) error {

    if !f.IsDir() {

        fileList = append(fileList, path)

    }

    return nil

})

错误:


Put app/javascripts: read public/app/javascripts: is a directory

我在 OSX 上。这是目录列表:


drwxr-xr-x@   6 me  staff     204 Sep 25 11:28 javascripts

有没有更好的方法来检测目录?


吃鸡游戏
浏览 204回答 2
2回答

暮色呼如

我正在查看错误的目录(混淆名称)。这是一个符号链接,这是有道理的。

白衣非少年

看起来该文件是一个目录,也是一个符号链接。为了排除符合这两个条件的文件,您可以使用:if !f.IsDir() && (f.Mode()&os.ModeSymlink) != os.ModeSymlink {    ...}
随时随地看视频慕课网APP

相关分类

Go
我要回答