记录下如何判断错误:no such file or directory

背景:

第三次碰见这个问题了...

环境:golang

两个项目A和B,运行项目A时,会引用B的一些配置文件,如下,两个并列项目:

 项目A代码:

 项目B文件:

 在项目A的test目录下,运行:go run test.go 会出现下面报错

(base) deMacBook-Pro:test $ go run test.go 
open fail err is : %v open ../awesomeProject2/config.txt: no such file or directory
(base) deMacBook-Pro:test $ pwd
/Users//feedsRec/awesomeProject1/temp/test

原因:

相对目录的问题。项目A中引用项目B中的文件,使用的是configPath = "../awesomeProject2/config.txt",这里的"../"是awesomeProject1的同级目录。我们运行go run test.go的上一级目录是temp,而非awesomeProject1的同级目录,因此找不到这个"../awesomeProject2/config.txt"文件而报错。

解决:

在项目A的第一个目录(使用"../awesomeProject2"能找到的那级目录)中运行go文件,如下:

(base) deMacBook-Pro:test $ cd ../../
(base) deMacBook-Pro:awesomeProject1 $ pwd
/Users//feedsRec/awesomeProject1
(base) deMacBook-Pro:awesomeProject1 $ go run temp/test/test.go 
file detail: %v &{0xc000102120}

此处感谢同事大佬们,又提升了代码调试能力,哈哈哈

猜你喜欢

转载自blog.csdn.net/pearl8899/article/details/119395073