我有一个Golang应用程序,它正在通过Kubernetes部署到一个容器中。在服务中,我想读取一个嵌套在应用程序中的文件。
我正在努力寻找如何将当前工作目录设置为应用程序的位置。
由于相对路径未对齐,当前应用程序因出现错误而惊慌:
const_cast<CharT*>(s.data())
我尝试使用以下代码并附加文件名:
open /workspace/source/package/file.csv: no such file or directory
但是,这仍然行不通。有没有办法找到应用程序的当前位置,然后附加文件名?
感谢帮助!
答案 0 :(得分:2)
使用os.Executable查找可执行文件的路径。
b, err := os.Executable()
if err != nil {
log.Fatal(err)
}
basepath := filepath.Dir(b)
答案 1 :(得分:0)
在执行应用程序之前,您不能cd
吗?然后,您可以使用相对路径。