语境
我创建了一个简单的程序来自动更新我在 OpenDNS 上的公共 IP 地址。为了能够使用该程序,我需要 OpenDNS 站点的凭据,因此我创建了一个 config.json 文件以便能够从中读取凭据。
在 Go 项目文件夹中,调用二进制文件可以正常工作
./main
http return code: 200 defining the new IP: 123.123.123.123
如果我更改为另一个文件夹(例如我的 /home/user),二进制文件将无法再打开该文件
./Documents/ip-updater-opendns/main
panic: couldn't open config file config.json: open config.json: no such file or directory
goroutine 1 [running]:
main.loadConfigFile()
/home/user/Documents/ip-updater-opendns/main.go:50 +0x1e6
main.main()
/home/user/Documents/ip-updater-opendns/main.go:25 +0x45
我通过以下方式打开文件:
func loadConfigFile() Config {
const ConfigFileEnv = "config.json"
var config Config
file, err := os.Open(ConfigFileEnv)
if err != nil {
panic(fmt.Errorf("couldn't open config file %s: %w", ConfigFileEnv, err))
}
err = json.NewDecoder(file).Decode(&config)
if err != nil {
panic(fmt.Errorf("couldn't decode config file %s as Json: %w", ConfigFileEnv, err))
}
return config
}
为什么我要从另一个文件夹调用我的二进制文件?
因为我希望这个程序每 5 分钟由 cronjob 执行一次。
所以我的问题是,如何解决这个问题?
德玛西亚99
相关分类