首页 >后端开发 >Golang >为什么我的 Go 程序没有收到 Python 函数调用的返回值?

为什么我的 Go 程序没有收到 Python 函数调用的返回值?

Barbara Streisand
Barbara Streisand原创
2024-12-04 22:20:12815浏览

Why is my Go program not receiving the return value from my Python function call?

从 Go 调用 Python 函数并检索返回值

在此场景中,您的目标是从 Go 程序调用名为 cat_strings 的 Python 函数并访问其返回值。但是,尽管尝试执行该命令,您还是遇到了缺少预期返回数据的问题。

要解决此问题,请考虑删除 Python 命令本身周围的单引号。而不是:

program := "python"
arg0 := "-c"
arg1 := fmt.Sprintf("'import pythonfile; print pythonfile.cat_strings(\"%s\", \"%s\")'", "foo", "bar")

使用:

cmd := exec.Command("python",  "-c", "import pythonfile; print pythonfile.cat_strings('foo', 'bar')")

此调整可确保系统正确解释 Python 命令,从而正确执行 Python 函数。因此,您应该能够从 Go 程序中的 cat_strings 函数获取返回值。

以上是为什么我的 Go 程序没有收到 Python 函数调用的返回值?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn