oct*_*bus 5 python jvm clojure
我有两个问题,一个是另一个的子集.
1)在Python和Clojure程序之间传递信息的最佳方法是什么.这个问题也可以扩展到任何像Scala这样的jvm语言.这些程序将在Linux下运行.
2)在Windows下执行此操作的最佳方法是什么?
详情如下所示.我想要一个Python程序来启动Clojure程序,知道Clojure程序何时完成,并检索运行Clojure程序的结果.
我知道在Python和Clojure程序之间,信息可以在专门为Clojure程序完成时存储信息而创建的数据库表中共享,或者甚至做一些笨重的事情,就像将结果文件留在已知目录中一样.
鉴于这是Linux,我可能可以使用管道共享信息,但我特别想知道Python和Clojure是否支持可以促进程序间通信的模块.
谢谢.
我不确定你的Clojure程序在做什么,但是如果你只是想从Python执行Clojure代码,那么Clojure-Py可能会有所帮助:
https://github.com/halgari/clojure-py
例如,您可以在Python中执行此操作:
>>> import clojure.core
>>> clojure.core.cons(1, None)
(1)
Run Code Online (Sandbox Code Playgroud)
免责声明,我是clojure-py的作者
我不熟悉 Clojure,但您可能可以使用 python subprocess模块将 json 通过管道传输给它。
import json
from subprocess import Popen, PIPE
json_data = json.dumps({"key":"value"})
p = subprocess.Popen("closure-execution", stdout=PIPE, stdin=PIPE, sterr=PIPE)
# stuff some data into the pipe and wait for the process to end:
stdout, sterr = p.communicate(json_data)
Run Code Online (Sandbox Code Playgroud)
或者类似的东西...
| 归档时间: |
|
| 查看次数: |
1177 次 |
| 最近记录: |