Maison >développement back-end >Golang >Pourquoi mon programme Go ne reçoit-il pas la valeur de retour de mon appel de fonction Python ?

Pourquoi mon programme Go ne reçoit-il pas la valeur de retour de mon appel de fonction Python ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-04 22:20:121193parcourir

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

Appel de fonctions Python depuis Go et récupération des valeurs de retour

Dans ce scénario, vous souhaitez appeler une fonction Python nommée cat_strings à partir d'un programme Go et accédez à sa valeur de retour. Cependant, malgré la tentative d'exécution de la commande, vous rencontrez un problème où les données de retour attendues sont manquantes.

Pour résoudre ce problème, envisagez de supprimer les guillemets simples autour de la commande Python elle-même. Au lieu de :

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

Utilisez :

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

Cet ajustement garantit que la commande Python est correctement interprétée par le système, conduisant à la bonne exécution de votre fonction Python. Par conséquent, vous devriez pouvoir obtenir la valeur de retour de la fonction cat_strings dans votre programme Go.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn