ホームページ >バックエンド開発 >Golang >Go プログラムが Python 関数呼び出しからの戻り値を受け取らないのはなぜですか?

Go プログラムが Python 関数呼び出しからの戻り値を受け取らないのはなぜですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-04 22:20:121154ブラウズ

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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。