如何检查Go中是否存在文件?

Go的标准库没有专门用于检查文件是否存在的函数(如Python的os.path.exists)。什么是惯用的方式做到这一点?


九州编程
浏览 169回答 3
3回答

神不在的星期二

要检查文件是否不存在,等同于Python的文件if not os.path.exists(filename):if _, err := os.Stat("/path/to/whatever"); os.IsNotExist(err) {  // path/to/whatever does not exist}要检查文件是否存在,等同于Python的文件if os.path.exists(filename):编辑:根据最近的评论if _, err := os.Stat("/path/to/whatever"); err == nil {  // path/to/whatever exists} else if os.IsNotExist(err) {  // path/to/whatever does *not* exist} else {  // Schrodinger: file may or may not exist. See err for details.  // Therefore, do *NOT* use !os.IsNotExist(err) to test for file existence}

开满天机

您应该像下面的示例中那样使用os.Stat()andos.IsNotExist()函数:// Exists reports whether the named file or directory exists.func Exists(name string) bool {    if _, err := os.Stat(name); err != nil {        if os.IsNotExist(err) {            return false        }    }    return true}该示例从此处提取。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go