我在本地机器中有一个简单的python脚本,它返回一个字符串。我想从java应用程序运行这个脚本并获得返回值。我试着用火成岩来做这个。我下载了jar文件并将它们添加到我的java类路径中。但我不能运行脚本。在
下面的示例代码来自自述文件.txt在
NameServerProxy ns = NameServerProxy.locateNS(null);
PyroProxy remoteobject = new PyroProxy(ns.lookup("Your.Pyro.Object"));
Object result = remoteobject.call("pythonmethod", 42, "hello", new int[]{1,2,3});
String message = (String)result; // cast to the type that 'pythonmethod' returns
System.out.println("result message="+message);
remoteobject.close();
ns.close();
但这对我没用。我的系统配置是
OS: Windows 8
JDK: jdk1.7.0_51
Python: 2.6
请帮我拿这个。在
我是这样编辑代码的:
^{pr2}$
我不确定我是否理解你的意图。在
如果你仔细阅读教程,你会发现你不能像现在这样使用火成岩。它指定您必须有一个python脚本作为一个服务器运行,它有一个名称服务器,您必须在其中定义一些类(例如
Your.Pyro.Object
)。在然后就可以调用在python脚本中定义的对象,而不是脚本本身。在
要做你想做的事情,你需要调用一个像C的
fork()
这样的函数。然后你就可以调用一个可执行文件,你不需要火箭弹。在相关问题 更多 >
编程相关推荐