Maison > développement back-end > Golang > Comment transmettre correctement les valeurs de retour de la fonction Python à emporter ?

Comment transmettre correctement les valeurs de retour de la fonction Python à emporter ?

Barbara Streisand
Libérer: 2024-12-01 02:40:10
original
984 Les gens l'ont consulté

How to Properly Pass Python Function Return Values to Go?

Passer les valeurs de retour d'une fonction Python à Go

Cet article aborde le problème de l'appel d'une fonction Python à partir d'un programme Go et de l'accès à son retour valeur. Le scénario rencontré consiste à appeler une fonction Python définie dans un fichier externe et à récupérer ses données de retour pour un traitement ultérieur dans Go.

Dans l'exemple fourni, un programme Go tente d'exécuter une commande Python à l'aide de exec.Command, mais ne parvient pas à recevoir de données de retour. Une première théorie est que la valeur de retour est imprimée au lieu d'être renvoyée par la fonction Python. Cependant, cela est rejeté car cela violerait l'hypothèse selon laquelle la fonction fait partie d'un module utilitaire Python plus grand.

Après une enquête plus approfondie, il s'avère que le problème réside dans la construction de la commande Python. En supprimant le guillemet autour de la commande elle-même, le code de travail suivant est obtenu :

Go Code :

package main

import (
    "fmt"
    "os/exec"
)

func main() {
    cmd := exec.Command("python", "-c", "import pythonfile; print pythonfile.cat_strings('foo', 'bar')")
    fmt.Println(cmd.Args)
    out, err := cmd.CombinedOutput()
    if err != nil { fmt.Println(err); }
    fmt.Println(string(out))
}
Copier après la connexion

La modification clé est la suppression du guillemet autour de la commande Python. Cela permet d'exécuter la commande correcte et de capturer la valeur de retour.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal