从java向python脚本传递变量

从java向python脚本传递变量,java,python,jython,Java,Python,Jython,好吧,问题已经问过了,但答案似乎没有多大帮助。我能够使用jython运行python脚本,并在该问题中给出答案,但我无法传递变量。。。当我运行程序时,错误显示没有arg1 arg2和arg3这样的变量。。。我做错了什么 String[] arguments = {"myscript.py", "arg1", "arg2", "arg3"}; PythonInterpreter.initialize(System.getProperties(), System.getProperties(),ar

好吧,问题已经问过了,但答案似乎没有多大帮助。我能够使用jython运行python脚本,并在该问题中给出答案,但我无法传递变量。。。当我运行程序时,错误显示没有arg1 arg2和arg3这样的变量。。。我做错了什么

String[] arguments = {"myscript.py", "arg1", "arg2", "arg3"};
PythonInterpreter.initialize(System.getProperties(), System.getProperties(),arguments);
org.python.util.PythonInterpreter python = new org.python.util.PythonInterpreter();
StringWriter out = new StringWriter();
python.setOut(out);
python.execfile("myscript.py");
String outputStr = out.toString();
System.out.println(outputStr);
这是python脚本

def myFunction(arg1,arg2,arg3):
    print "calling python function with paramters:"
    print arg1
    print arg2
    print arg3
myFunction(arg1,arg2,arg3)

现在错误显示arg1 arg2和arg3未声明

您应该通过下面描述的
sys.argv
变量访问命令行参数:

所以正确的代码是:

myFunction(sys.argv[0], sys.argv[1], sys.argv[2])