Maison > Article > développement back-end > Comment appeler des fonctions Python à partir de Node.js : un guide complet
Invoquer des fonctions Python à partir de Node.js : un guide complet
À l'ère du numérique, de nombreuses applications exploitent à la fois Python et Node.js pour leurs diverses capacités. Python excelle dans l'apprentissage automatique, tandis que Node.js excelle dans le développement Web. Pour exploiter la puissance de ces technologies en tandem, il devient crucial de savoir comment invoquer les fonctions Python à partir de Node.js.
Solution
Une approche efficace consiste à utiliser le module "child_process" fourni avec Node.js. Ce module permet aux développeurs de créer des sous-processus et d'interagir avec des programmes externes.
Étape 1 : générer un processus Python
Pour exécuter une fonction Python à partir de Node.js, vous pouvez utilisez la fonction spawn() au sein du module "child_process" :
const { spawn } = require("child_process"); const pythonProcess = spawn('python', ["path/to/script.py", arg1, arg2, ...]);
En Python, il est indispensable d'importer le module sys et accédez aux arguments transmis de Node.js via sys.argv.
Étape 2 : Envoi de données à Python
Pour transférer des données vers le script Python, utilisez le flux stdout :
pythonProcess.stdout.write(dataToSendBack + '\n');
Étape 3 : Réception des données de Python
Dans Node.js, vous pouvez écouter les données renvoyées par Python via l'événement 'data' sur le flux stdout :
pythonProcess.stdout.on('data', (data) => { // Handle the data returned from Python });
Personnalisation de l'appel de fonction
En passant plusieurs arguments au script Python via spawn(), vous pouvez contrôler quelle fonction est exécutée dynamiquement. Cette flexibilité vous permet de créer des fonctions Python adaptées à des arguments spécifiques.
Conclusion
En suivant ces étapes, vous pouvez appeler en toute transparence des fonctions Python à partir d'applications Node.js, déverrouillant ainsi le potentiel de l’intégration du machine learning pour vos projets web. Le module "child_process" fournit un mécanisme robuste de communication entre ces deux langages, permettant aux développeurs de tirer parti du meilleur des deux mondes.
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!