我想知道将Java程序中的String传递给Python程序的最简单方法是什么。原因是我使用samppipe从Web中提取一些文本,然后通过我的Java程序进行分析,但我还必须使用pattern.en进行一些语义搜索,这只能用于python。
我不需要从我的python程序中获取结果,只是我的Python程序可以获得String。
我首先考虑让我的python程序监听.txt文件,而java用String提供它,但我认为这样做太难了。
我在Windows 7上,我的Python版本是2.7.9。
编辑:我想我实际上并不是很清楚。理想情况下,我希望我的java代码运行我的python程序,该程序将收到字符串。
如果我可以做出类似的话,Graciela Runolfsdottir的第二个答案可能会成功:String s = "string to analyse"
FileUtils.writeStringToFile(new File("test.txt"), s);
然后执行:python analyzer.py test.txt
,但我不知道如何从java调用此命令。有可能吗?
答案 0 :(得分:2)
实现这一目标的最简单方法(以及历史上的&#34;规范&#34;方式)是使用源程序(在您的情况下为Java程序)将字符串写入<b>hi</b>
并从中读取stdout
使用接收程序(python程序)。
要链接输入/输出,您可以使用"Command Redirection",特别是管道:
stdin
答案 1 :(得分:0)
您可以通过以下方式传递字符串:
我认为最后一种方法在实施中很简单,你应该选择它。
答案 2 :(得分:0)
不同的方法:尝试使用jython。那可能你实际上在你的JVM上下文中运行python代码。
或者,如果您真的担心基于深刻的架构而拥有“可靠”的解决方案;考虑使用消息总线;就像ActiveMQ一样,它有Java和Python的客户端。