Maison  >  Article  >  développement back-end  >  Comment puis-je appeler des fonctions Python depuis Java en utilisant Jython ?

Comment puis-je appeler des fonctions Python depuis Java en utilisant Jython ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-08 04:05:02290parcourir

How can I call Python functions from Java using Jython?

Invoquer Python depuis Java : le rôle de Jython

Alors que Jython comble la fracture Python-Java en facilitant l'exécution de code Python dans les environnements Java, il est crucial de noter sa fonctionnalité principale : permettre l'invocation de code Java depuis Python.

Appel de fonctions Python depuis Java avec Jython

Si votre code Python est compatible avec Jython (c'est-à-dire exempt d'extensions C non prises en charge), vous pouvez appeler de manière transparente des fonctions Python à partir de Java. Cette approche offre la solution la plus simple pour cette tâche.

Un exemple illustratif

L'extrait de code Java suivant montre comment appeler une fonction Python qui opère sur une chaîne et renvoie une chaîne :

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

Approche alternative pour des scénarios plus complexes

Dans les cas où Jython n'est pas une solution appropriée, Java 6 introduit le org.python.util .PythonInterpréteur. Cette API fournit une alternative pour exécuter du code Python à partir de Java.

Remarque : Jython ne prend actuellement pas en charge Python 3.x à partir de 2021.

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