猿问

如何在运行已编译的 golang 程序时使用配置文件

我使用go build main.go. 但是这个程序正在使用一个 ini 文件,我该如何使用这个文件,因为当我运行时./main,我收到这个错误:


2018/09/20 17:37:38 open config/config.ini: no such file or directory

2018/09/20 17:37:38 open config/config.ini: no such file or directory

panic: open config/config.ini: no such file or directory


goroutine 1 [running]:

log.Panic(0xc0000f7e98, 0x1, 0x1)

使用这个文件的代码是:


func GetConfigFile() (*ini.File, error) {

    f, err := ini.Load("config/config.ini")

    if err != nil {

        log.Println(err)

    }

    return f, err

}


慕田峪7331174
浏览 145回答 2
2回答

潇湘沐

这取决于您从何处运行程序。阅读当前工作目录的概念,如果您从控制台运行程序,路径通常显示在行的开头。您在代码中使用相对路径"config/config.ini",这意味着如果您当前位于该目录中/home/user,则该文件应位于/home/user/config/config.ini.您可能希望从不同的目录运行代码或在代码中使用绝对路径,例如/home/user/go/src/myapp/config/config.ini

侃侃尔雅

像这样使用绝对路径:func GetConfigFile() (*ini.File, error) {    f, err := ini.Load("/var/config/config.ini")    if err != nil {        log.Println(err)    }    return f, err}
随时随地看视频慕课网APP

相关分类

Go
我要回答