Maison > développement back-end > Tutoriel Python > Comment appeler des fonctions Python depuis Node.js à l'aide de « child_process » ?

Comment appeler des fonctions Python depuis Node.js à l'aide de « child_process » ?

Patricia Arquette
Libérer: 2024-11-30 14:44:10
original
852 Les gens l'ont consulté

How to Call Python Functions from Node.js Using 'child_process'?

Appel de fonctions Python à partir de Node.js

Exploiter les capacités des bibliothèques d'apprentissage automatique de Python dans une application Node.js nécessite un moyen d'invoquer Fonctions Python de l'environnement Node.js. Le package 'child_process' apparaît comme un outil idéal pour combler cette lacune.

Solution : Utiliser 'child_process'

En employant le package 'child_process', vous pouvez créer un sous-processus Python et exécutez des fonctions Python à l'intérieur. Voici comment procéder :

  1. Commencez par importer le module 'child_process' :

    const spawn = require("child_process").spawn;
    Copier après la connexion
  2. Créez un sous-processus Python et fournissez le Python chemin du script et tous les arguments souhaités :

    const pythonProcess = spawn('python', ["path/to/script.py", arg1, arg2, ...]);
    Copier après la connexion
  3. Sur Python côté, assurez-vous que 'sys' est importé et utilisez 'sys.argv' pour accéder aux arguments transmis depuis Node.js :

    import sys
    arg1 = sys.argv[1]
    arg2 = sys.argv[2]
    Copier après la connexion
  4. Pour renvoyer les données à Node.js, utilisez 'imprimer' dans le script Python et vider la sortie :

    print(dataToSendBack)
    sys.stdout.flush()
    Copier après la connexion
  5. Dans Node.js, écoutez les données à partir du sous-processus Python :

    pythonProcess.stdout.on('data', (data) => {
      // Handle the data received from the Python script
    });
    Copier après la connexion

Flexibilité et invocation de fonctions dynamiques

L'avantage de cette approche est qu'elle permet à plusieurs arguments d'être transmis au script Python. Cette flexibilité vous permet de concevoir un script Python dans lequel un argument spécifié détermine quelle fonction appeler, et d'autres arguments sont transmis à cette fonction.

Exemple :

Dans votre Script Python, définissez une fonction pour l'apprentissage automatique et une fonction principale qui orchestre quelle fonction appeler en fonction d'un argument spécifié :

def machine_learning_function(data):
  # Implement the machine learning functionality

def main():
  function_name = sys.argv[1]
  data = sys.argv[2]
  if function_name == "machine_learning_function":
    machine_learning_function(data)

if __name__ == "__main__":
  main()
Copier après la connexion

En passant le nom et les données de la fonction comme arguments du script de Node.js, vous pouvez appeler dynamiquement la fonction Python appropriée.

Remarque : Le transfert de données entre Node.js et Python est réalisé via une sortie standard et des flux d'entrée standard .

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