1. ホーム
  2. file

[解決済み] Goでファイルが存在するかどうかを確認する方法は?

2022-03-17 13:38:25

質問

Go の標準ライブラリには、ファイルが存在するかどうかをチェックすることだけを目的とした関数がありません (Python の os.path.exists ). とは何ですか? イディオム の方法を教えてください。

どのように解決するのですか?

ファイルが存在しないかどうかを調べるには、Pythonの if not os.path.exists(filename) :

if _, err := os.Stat("/path/to/whatever"); errors.Is(err, os.ErrNotExist) {
  // 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 errors.Is(err, os.ErrNotExist) {
  // 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


}