compute.py脚本如下:
#!/usr/bin/env python
import sys
sys.path.append(sys.argv[1])
import sympy
import mathics
from mathics.core.definitions import Definitions
from mathics.core.evaluation import Evaluation,Output
from mathics.core.parser import SingleLineFeeder
def compute(expression):
_definitions = Definitions(add_builtin=True)
_evaluation = Evaluation(_definitions,catch_interrupt=False,output=Output())
feeder = SingleLineFeeder(expression)
query = _evaluation.parse_feeder(feeder)
result = _evaluation.evaluate(query)
return result.result
result = compute(sys.argv[2])
print(result)
-------------------
java伪代码:
String[] arrs = new String[4];
arrs[0] = "python";
arrs[1] = "E:\\workspace\\testpython\\pythonfile\\compute.py";
arrs[2] = "C:\\jython2.5.2\\Lib\\site-packages";
arrs[3] = "1+2";
Process pro = Runtime.getRuntime().exec(arrs);
BufferedReader in = new BufferedReader(new InputStreamReader(pro.getInputStream()));
String result = in.readLine();