gpt4 book ai didi

go - 你如何确定当前运行的可执行文件的完整路径?

转载 作者:IT王子 更新时间:2023-10-29 01:03:40 25 4
gpt4 key购买 nike

我一直在 osx 上使用这个函数:

// Shortcut to get the path to the current executable                      
func ExecPath() string {
var here = os.Args[0]
if !strings.HasPrefix(here, "/") {
here, _ = exec.LookPath(os.Args[0])
if !strings.HasPrefix(here, "/") {
var wd, _ = os.Getwd()
here = path.Join(wd, here)
}
}
return here
}

...但是它非常困惑,而且它在 Windows 上根本不起作用,当然在 git-bash 中也不在 Windows 上。

有没有一种跨平台的方法?

注意。具体来说,args[0] 取决于二进制文件的调用方式;在某些情况下,它只是二进制文件本身,例如。 “应用程序”或“app.exe”;所以你不能只使用它。

最佳答案

这是传统的做法,我认为它适用于任何平台。

import (
"fmt"
"os"
"path/filepath"
)

// Shortcut to get the path to the current executable
func ExecPath() string {
var here = os.Args[0]
here, err := filepath.Abs(here)
if err != nil {
fmt.Printf("Weird path: %s\n", err)
}
return here
}

关于go - 你如何确定当前运行的可执行文件的完整路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16096885/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com