当前位置: 首页 > 面试题库 >

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

习哲彦
2023-03-14
问题内容

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


问题答案:

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


}


 类似资料:
  • Go的标准库没有专门用于检查文件是否存在的功能(如Python的)。

  • 问题内容: 在打开文件以Java读取之前,如何检查文件是否存在?(相当于Perl的)。 关于SO的唯一类似问题涉及写入文件,因此使用回答了该问题,这显然不适用于此处。 如果可能的话,我宁愿使用真正的API调用返回,而不是使用“调用API来打开文件并在引发异常时捕获并在文本中检查’无文件’的情况下捕获”,但是我可以接受后者。 问题答案: 使用:

  • 问题内容: 我正在使用Java 7 IO的新功能,实际上我试图接收文件夹的所有xml文件。但这在文件夹不存在时引发异常,如何检查新IO是否存在该文件夹? 问题答案: 使用: 您可以选择传递此方法的值: 还有一种方法:

  • 问题内容: 我需要检查远程服务器上是否存在特定文件。使用和不起作用。有什么想法如何快速轻松地做到这一点? 问题答案: 您必须使用CURL

  • 问题内容: 尝试检查我要读取的文件是否存在。 问题答案: 这是另一种方法: 包装的用途和功能: p_DirName in varchar2, – schema object name p_FileName in varchar2 ) return number is l_file_loc bfile; begin l_file_loc := bfilename(upper(p_DirName),

  • 我想确定C 11中是否存在一个文件 我有以下代码: 和 哪一个是正确的和惯用的?