golang 获取当前执行程序路径

1.获取当前执行程序路径

func execPath() (string, error) {
   file, err := exec.LookPath(os.Args[0])
   if err != nil {
      return "", err
   }
   re, err := filepath.Abs(file)
   if err != nil {
      logs.Error("The eacePath failed: %s\n", err.Error())
   }
   flog.Infoln("The path is ", re)
   return filepath.Abs(file)
}
func GetCurrentDirectory() string {
   dir, err := filepath.Abs(filepath.Dir(os.Args[0]))  //返回绝对路径  filepath.Dir(os.Args[0])去除最后一个元素的路径
   if err != nil {
      log.Fatal(err)
   }
   return strings.Replace(dir, "\\", "/", -1) //将\替换成/
}

2.获取当前执行程序目录

func GetCurrentDirectory() string {
	//返回绝对路径  filepath.Dir(os.Args[0])去除最后一个元素的路径
	dir, err := filepath.Abs(filepath.Dir(os.Args[0]))
	if err != nil {
		log.Fatal(err)
	}

	//将\替换成/
	return strings.Replace(dir, "\\", "/", -1) 
}

测试使用

func main() {
    dir, err := filepath.Abs(filepath.Dir(os.Args[0]))
    if err != nil {
            log.Fatal(err)
    }
    fmt.Println(dir)
}
发布了57 篇原创文章 · 获赞 537 · 访问量 485万+

猜你喜欢

转载自blog.csdn.net/whatday/article/details/103938241