Maison  >  Article  >  développement back-end  >  Comment appeler des fonctions Python à partir de Node.js : un guide complet

Comment appeler des fonctions Python à partir de Node.js : un guide complet

Susan Sarandon
Susan Sarandonoriginal
2024-11-17 21:31:02456parcourir

How to Invoke Python Functions from Node.js: A Comprehensive Guide

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!

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