J'utilise la classe org.python.util.PythonInterpreter pour exécuter du code python dans java. Veuillez trouver ci-dessous l'extrait de mon code.Fonction exec PythonInterpreter Retourne le flux de sortie vide
PythonInterpreter pythonInterpreter = new PythonInterpreter(null, new PySystemState());
ByteArrayOutputStream outStream = new ByteArrayOutputStream(16384);
pythonInterpreter.setOut(outStream);
pythonInterpreter.setErr(outStream);
// execute the code
pythonInterpreter.exec(script);
String consoleOutput = outStream.toString();
outStream.flush();
System.out.println("Console output :- "+consoleOutput);
Le problème avec le code ci-dessus est pour le script même parfois je reçois « consoleOutput » vide. Je ne suis pas capable de comprendre le problème. Pour exécuter le code ci-dessus 1000 fois, au moins 4 fois je reçois une sortie vide.
D'autre part, si j'utilise le constructeur par défaut comme indiqué ci-dessous, il fonctionne très bien
PythonInterpreter pythonInterpreter = new PythonInterpreter();