在运行时获取可执行文件路径的最佳方法是什么?
如果我的 go 程序可以以不同的方式执行(cron、monit 等),那么在运行时获取包含可执行文件的目录的最可靠方法是什么?
在 python 中,这将是变量:
os.path.realpath(__file__)
If my go program can be executed in different ways (cron, monit, etc..), what's the most reliable way to get the directory that contains the executable, during runtime?
In python, this would be the variable:
os.path.realpath(__file__)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
可能和C中的一样,换句话说,没有一个可移植的万无一失的方法。请参阅如何找到C 中的可执行文件?
It's probably the same as in C, in other words, there isn't a portable fool-proof method. See How do I find the location of the executable in C?
Andrew Brookins 在《Go》中提出了一种快速修复方法(不一定是通用的) Go:如何获取当前文件的目录”:
One quick fix in go (not necessary a universal one) is proposed by Andrew Brookins in "Go: How to Get the Directory of the Current File":
我发现最好的方法是使用 os.Getwd()。请参阅此处的文档:golang doc
The best way I found is to use
os.Getwd()
. See documentation here: golang doc