为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go
三国纷争 2021-04-06 13:08:41
如果我的go程序可以通过不同的方式(cron,monit等)执行,那么在运行时获取包含可执行文件的目录的最可靠方法是什么?在python中,这将是变量:os.path.realpath(__file__)
查看完整描述

2 回答

?
翻翻过去那场雪

TA贡献2065条经验 获得超13个赞

我最终发现了runtime.Caller()。

这将返回有关当前goroutine堆栈的一些详细信息,包括文件路径。


我的问题的背景是在共享包中打开数据文件。

我煮的是:


_, filename, _, _ := runtime.Caller(1)

f, err := os.Open(path.Join(path.Dir(filename), "data.csv"))


查看完整回答
反对 回复 2021-04-26
?
LEATH

TA贡献1936条经验 获得超6个赞

我发现最好的方法是使用os.Getwd()。请参阅此处的文档:golang doc


查看完整回答
反对 回复 2021-04-26
  • 2 回答
  • 0 关注
  • 218 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信