小编典典

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

go

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


阅读 208

收藏
2021-10-21

共1个答案

小编典典

要检查文件是否不存在,相当于 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


}
2021-10-21