[英]Clojure create python runtime and execute task
我想用Clojure编写一个程序,该程序具有Python运行时并接受Python函数代码,并通过套接字从某些客户端将此函数的参数列表列出,然后将其添加到运行时,并使用参数调用它并返回结果给客户。
我想知道如何:
您可以为此使用clojure.java.shell
:
(ns tst.clj.core
(:require [clojure.java.shell :as shell] ))
(t/refer-tupelo)
(t/print-versions)
(println (shell/sh "python" "-c" "print (2 + 3)" ))
;=> {:exit 0, :out "5\n", :err ""}
如果您担心启动Python的开销,那么似乎只有6毫秒:
(time
(let [sum-vec (for [i (range 100)]
(Integer/parseInt (str/trim (:out (shell/sh "python" "-c" (format "print (%d + 3)" i))))))
cumsum (reduce + sum-vec)
]
(println :cumsum cumsum)))
;=> :cumsum 5250
;=> "Elapsed time: 638.612278 msecs"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.