Невозможно передать аргументы в модуль Python из Java с помощью метода put ScriptEngineManager. - PullRequest
0 голосов
/ 20 января 2019

У меня возникают трудности с передачей аргументов из кода Java в модуль Python с помощью метода javax.script.ScriptEngineManager object.Put, но я не могу использовать аргумент в python, так как этот аргумент возвращает ноль;

    import java.io.FileNotFoundException;
    import java.io.FileReader;
    import java.io.StringReader;
    import java.io.StringWriter;
    import java.lang.*;
    import javax.script.ScriptContext;
    import javax.script.ScriptEngineManager;
    import javax.script.ScriptException;
    import javax.script.SimpleScriptContext;
    import javax.script.SimpleScriptContext;
    import javax.script.ScriptEngine;

    public class CallPythonScript {

        public static void main(String[] args)  {
            // TODO Auto-generated method stub

    StringWriter writer=new StringWriter();
    StringReader s=new StringReader("3");
    ScriptEngineManager manager1=new ScriptEngineManager();
    ScriptContext context=new SimpleScriptContext();
    context.setWriter(writer);
    ScriptEngine engine=manager1.getEngineByName("python");
//Trying to fetch value return to Engine argument into my python code
    engine.put(engine.ARGV, "12");
    try
    {
        engine.eval(new FileReader("printprogram.py"),context);
       System.out.println("helloexception");

Я не могу использовать значение аргумента в коде Python с помощью sys.argv возвращает нулевое значение в Python. Может кто-то, пожалуйста, посмотрите на мою проблему Заранее спасибо

...