gpt4 book ai didi

mongodb - 如何在Go中从多个不同的文件位置执行脚本

转载 作者:行者123 更新时间:2023-12-01 22:39:24 26 4
gpt4 key购买 nike

我目前正在使用脚本为每个测试加载和拆卸MongoDB测试数据库。
我这样做如下:

func LoadDB() {
cmd := exec.Command("../scripts/load_db.py")
}

我在每个测试中都调用此函数。
问题是,从此脚本中删除的一些测试文件比其他测试文件还多:
+ service1
– service1.go
– service1_test.go
+ service2
+ sub
– subservice2.go
– subservice2_test.go
– service2.go
– service2_test.go

问题是工作目录从我调用函数的位置更改为执行脚本,因此相对导入不起作用。我不想使用绝对路径,因为此代码可能在其他计算机上。
能够从多个不同位置调用同一脚本的最佳解决方案是什么?

最佳答案

如何在每台机器上定义设置load_db.py脚本绝对路径的环境变量?

然后,在LoadDB()函数中,您可以使用Getenv()包中的os函数获取环境变量。

https://golang.org/pkg/os/#Getenv

func LoadDB() {
path := os.Getenv("LOAD_DB_PATH") // /absolute/path/to/script
cmd := exec.Command(path)
}

关于mongodb - 如何在Go中从多个不同的文件位置执行脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62012860/

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