воскресенье, 19 апреля 2020 г.

Найти текущий рабочий каталог в Golang

Текущий каталог

Используйте os.Getwd, чтобы найти путь к текущему каталогу.

path, err := os.Getwd()
if err != nil {
    log.Println(err)
}
fmt.Println(path)  // например /home/user

Предупреждение: если текущий каталог доступен по нескольким путям (из-за символических ссылок), Getwd может вернуть любой из них.

Текущий исполняемый файл

Используйте os.Executable, чтобы найти путь к исполняемому файлу, который запустил текущий процесс.

path, err := os.Executable()
if err != nil {
    log.Println(err)
}
fmt.Println(path) 
// например /tmp/go-build872132473/b001/exe/main

Предупреждение: нет никакой гарантии, что путь все еще указывает на правильный исполняемый файл. Если для запуска процесса использовалась символическая ссылка, в зависимости от операционной системы, результатом может быть символическая ссылка или путь, на который она указала. Если требуется стабильный результат, может помочь path/filepath.EvalSymlinks.


Читайте также:


Комментариев нет:

Отправить комментарий