查找Golang应用程序的位置

时间:2019-06-03 20:39:00

标签: go

我有一个Golang应用程序,它正在通过Kubernetes部署到一个容器中。在服务中,我想读取一个嵌套在应用程序中的文件。

我正在努力寻找如何将当前工作目录设置为应用程序的位置。

由于相对路径未对齐,当前应用程序因出现错误而惊慌:

const_cast<CharT*>(s.data())

我尝试使用以下代码并附加文件名:

open /workspace/source/package/file.csv: no such file or directory

但是,这仍然行不通。有没有办法找到应用程序的当前位置,然后附加文件名?

感谢帮助!

2 个答案:

答案 0 :(得分:2)

使用os.Executable查找可执行文件的路径。

b, err := os.Executable()
if err != nil {
    log.Fatal(err)
}
basepath := filepath.Dir(b)

答案 1 :(得分:0)

在执行应用程序之前,您不能cd吗?然后,您可以使用相对路径。