首頁 >後端開發 >Golang >為什麼我的 Go 程式沒有收到 Python 函數呼叫的回傳值?

為什麼我的 Go 程式沒有收到 Python 函數呼叫的回傳值?

Barbara Streisand
Barbara Streisand原創
2024-12-04 22:20:12786瀏覽

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