Maison  >  Article  >  développement back-end  >  Comment puis-je intégrer les fonctionnalités Python dans les applications Java avec Jython ?

Comment puis-je intégrer les fonctionnalités Python dans les applications Java avec Jython ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-04 08:19:011043parcourir

How Can I Integrate Python Functionality into Java Applications with Jython?

Intégration des fonctionnalités Python dans Java avec Jython

Jython, une implémentation de Python pour la machine virtuelle Java, permet l'intégration transparente des fonctionnalités Python dans les applications Java. Bien que Jython soit couramment utilisé pour exécuter du code Java dans des environnements Python, il offre des capacités d'intégration bidirectionnelles.

Appel de fonctions Python depuis Java

Pour appeler des fonctions Python à partir du code Java à l'aide Jython, suivez ces étapes :

  1. Importez la bibliothèque Jython : ajoutez la bibliothèque Jython au chemin de classe de votre projet Java.
  2. Créez un interpréteur Python : utilisez le nouveau PythonInterpreter() pour créer un environnement d'exécution Python dans Java.
  3. Exécuter les modules Python : importez et exécutez les modules Python nécessaires à l'aide de la méthode exec.
  4. Récupérer la fonction Python : utilisez la méthode get pour obtenir une référence à la fonction Python souhaitée.
  5. Appelez la fonction Python : invoquez la fonction Python en utilisant __call__ et transmettez dans les arguments en tant qu'objets PyObject.
  6. Convertir le résultat : Transformez le PyObject renvoyé en un type de données Java à l'aide de __tojava__.

Exemple d'utilisation

Vous trouverez ci-dessous un exemple simplifié de la façon d'appeler une fonction Python "funcName" qui accepte une chaîne et renvoie une chaîne :

<code class="java">PythonInterpreter interpreter = new PythonInterpreter();
interpreter.exec("import sys\nsys.path.append('pathToModules')\nimport yourModule");
PyObject someFunc = interpreter.get("funcName");
PyObject result = someFunc.__call__(new PyString("Test!"));
String realResult = (String) result.__tojava__(String.class);</code>

Considérations importantes

Depuis 2021, Jython ne prend pas en charge Python 3.x. Par conséquent, assurez-vous que votre code Python est compatible avec la version Python prise en charge par Jython. De plus, si votre code Python repose sur des extensions C qui ne sont pas prises en charge par Jython, des méthodes alternatives telles que l'utilisation de l'interpréteur Python de Java 6 ou l'utilisation de JNI (Java Native Interface) peuvent être nécessaires.

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