Go 什么';运行时获取可执行文件路径的最佳方法是什么?
如果我的go程序可以以不同的方式执行(cron、monit等),那么在运行时获取包含可执行文件的目录最可靠的方法是什么 在python中,这将是变量:Go 什么';运行时获取可执行文件路径的最佳方法是什么?,go,Go,如果我的go程序可以以不同的方式执行(cron、monit等),那么在运行时获取包含可执行文件的目录最可靠的方法是什么 在python中,这将是变量: os.path.realpath(__file__) 这可能与C语言中的方法相同,换句话说,没有一种可移植的傻瓜式方法。请参见,in“”提出了一个go中的快速修复(不一定是通用的): 我终于发现了。 这将返回有关当前goroutine堆栈的一些详细信息,包括文件路径 问题的背景是打开共享包中的数据文件。 我做的是: 我发现最好的方法是使用os.
os.path.realpath(__file__)
这可能与C语言中的方法相同,换句话说,没有一种可移植的傻瓜式方法。请参见,in“”提出了一个go中的快速修复(不一定是通用的): 我终于发现了。
这将返回有关当前goroutine堆栈的一些详细信息,包括文件路径 问题的背景是打开共享包中的数据文件。
我做的是:
我发现最好的方法是使用
os.Getwd()
。请参阅此处的文档:工作目录不一定是包含可执行文件的目录。这假定可执行文件有一个路径。。。。
_, filename, _, _ := runtime.Caller(1)
f, err := os.Open(path.Join(path.Dir(filename), "data.csv"))