我有一个 Golang 应用程序,它正在通过 Kubernetes 部署到容器中。在该服务中,我想读取一个嵌套在应用程序中的文件。
我正在努力寻找如何将当前工作目录设置为应用程序的位置。
目前,由于相对路径未对齐,应用程序出现错误:
open /workspace/source/package/file.csv: no such file or directory
我试过使用以下代码并附加文件名:
var (
_, b, _, _ = runtime.Caller(0)
basepath = filepath.Dir(b)
)
但是这仍然不起作用。有没有办法找到应用程序的当前位置,然后附加文件名?
感谢您的帮助!
最佳答案
使用os.Executable找到可执行文件的路径。
b, err := os.Executable()
if err != nil {
log.Fatal(err)
}
basepath := filepath.Dir(b)
关于go - 查找 Golang 应用程序的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56434273/