Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Go 什么';运行时获取可执行文件路径的最佳方法是什么?_Go - Fatal编程技术网

Go 什么';运行时获取可执行文件路径的最佳方法是什么?

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

如果我的go程序可以以不同的方式执行(cron、monit等),那么在运行时获取包含可执行文件的目录最可靠的方法是什么

在python中,这将是变量:

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"))