我有一个用C - igraph(图书馆名称)编写的图形库的Python接口.我需要从Java代码调用与此图库有关的python模块.就像这样,图书馆的核心是c.这个核心已经导入到Python中,并且嵌入在核心中的函数的接口在Python中可用.我的项目的其余部分是用Java编写的,因此我也希望用Java调用图形函数.Jython - 它允许你在Java中调用python模块是一个选项.我继续尝试Jython发现它不会在我的情况下工作,因为核心代码在C和Jython不支持在python中作为ac dll导入的任何东西code.I还想过选择直接在c中调用图例程的方法.那是没有通过Python代码.我假设必须有一些东西可以让你从Java调用c代码,我怎么也不擅长C因此我没有去做.我的最后一招似乎是使用Java从命令行执行Python解释器.但这是一个肮脏无耻的人.另外,要处理Python代码生成的结果,我必须将结果写入文件并在java中读回.又脏了.是否有任何人可以建议我的东西?感谢每个人给予时间.是否有任何人可以建议我的东西?感谢每个人给予时间.是否有任何人可以建议我的东西?感谢每个人给予时间.
感谢Igal回答.我看了一眼.乍一看,它似乎只是简单地调用python脚本.
Jep jep = new Jep(false, SCRIPT_PATH, cl);
jep.set("query", query);
jep.runScript(SCRIPT_PATH + file);
jep.close();
Run Code Online (Sandbox Code Playgroud)
它与我们从命令行通过Java代码调用python解释器时的操作非常相似.
Runtime runtime = Runtime.getRuntime();
Process proc = runtime.exec("python test.py");
Run Code Online (Sandbox Code Playgroud)
关注的是如何使用Python脚本生成的结果.天真的方法是将它们写入文件并用Java读回.我正在寻找一种更聪明的方法.无论如何,谢谢你的建议.
归档时间: |
|
查看次数: |
4858 次 |
最近记录: |