java調用python代碼
引用 org.python包
1 PythonInterpreter interpreter = new PythonInterpreter();
2 interpreter.exec("days=('mod','Tue','Wed','Thu','Fri','Sat','Sun'); "); ///執行python腳本
2. 執行python .py文件
1 PythonInterpreter interpreter = new PythonInterpreter();
2 InputStream filepy = new FileInputStream("D:\\demo.py");
3 interpreter.execfile(filepy); ///執行python py文件
4 filepy.close();
3. 使用Runtime.getRuntime()執行腳本文件
這種方式和.net下面調用cmd執行命令的方式類似。如果執行的python腳本有引用第三方包的,建議使用此種方式。使用上面兩種方式會報錯java ImportError: No mole named arcpy。
1 Process proc = Runtime.getRuntime().exec("python D:\\demo.py");
2 proc.waitFor();
本回答由電腦網路分類達人 朱冬梅推薦
評論
1 0
瓶邪
採納率:92% 來自團隊:網路知道電腦團 擅長: 電腦/網路 生活 電子數碼
其他回答
如果是jython,也就是運行在Jvm上的python的話,可以使用JSR223,JDK1.6已經包含了該擴展包。JSR223是一個用於解析多種腳本語言的庫包,其中包括Jython。除了JSR223包之外,還需要jython-engine.jar包。
ScriptEngine engine = new ScriptEngineManager().getEngineByName("python");
try
{
engine.eval(new FileReader("./script/listing.py"));
}
catch(ScriptException se)
{
}
catch(IOException ie)
{
}
2. 如何在java中調用python
package com.lyz.test.jython;
import org.python.util.PythonInterpreter;
/**
* 第一個Jython程序
* @author liuyazhuang
*
*/
public class FirstJythonScript {
public static void main(String args[]) {
PythonInterpreter interpreter = new PythonInterpreter();
interpreter.exec("days=('mod','Tue','Wed','Thu','Fri','Sat','Sun'); ");
interpreter.exec("print days[1];");
}
}
3. 用java執行python
1.直接執行Python腳本代碼
引用 org.python包
1 PythonInterpreter interpreter = new PythonInterpreter();
2 interpreter.exec("days=('mod','Tue','Wed','Thu','Fri','Sat','Sun'); "); ///執行python腳本
2. 執行python .py文件
1 PythonInterpreter interpreter = new PythonInterpreter();
2 InputStream filepy = new FileInputStream("D:\\demo.py");
3 interpreter.execfile(filepy); ///執行python py文件
4 filepy.close();
3. 使用Runtime.getRuntime()執行腳本文件
這種方式和.net下面調用cmd執行命令的方式類似。如果執行的python腳本有引用第三方包的,建議使用此種方式。使用上面兩種方式會報錯java ImportError: No mole named arcpy。
1 Process proc = Runtime.getRuntime().exec("python D:\\demo.py");
2 proc.waitFor();
4. Java如何調用Python的jar包
Python -> Native 代碼 整體思路 先將Python 源代碼轉換成 C 代碼,之後用 GCC 編譯 C 代碼為二進制模塊 so/dll,接著進行一次 Java Native 介面封裝,
5. eclipse中 java程序怎樣調用python
eclipse中 java程序調用python方法如下:
package com.lyz.test.jython;
import org.python.util.PythonInterpreter;
/**
* 第一個Jython程序
* @author liuyazhuang
*
*/
public class FirstJythonScript {
public static void main(String args[]) {
PythonInterpreter interpreter = new PythonInterpreter();
interpreter.exec("days=('mod','Tue','Wed','Thu','Fri','Sat','Sun'); ");
interpreter.exec("print days[1];");
}
}
6. 如何在 Java 中調用 Python 代碼
可以用Python的擴展來實現。Python本來是C實現的,封裝二進制兼容的C++是很容易的。Java的話得通過JNI來實現,就是說在Python擴展里用C調用Java。另外,也可以寫一個TCP服務來包裝C++/Java的介面,通過網路來調用,這樣更通用。
7. 怎麼使用java運行python腳本
1.直接執行Python腳本代碼
引用 org.python包
1 PythonInterpreter interpreter = new PythonInterpreter();
2 interpreter.exec("days=('mod','Tue','Wed','Thu','Fri','Sat','Sun'); "); ///執行python腳本
2. 執行python .py文件
1 PythonInterpreter interpreter = new PythonInterpreter();
2 InputStream filepy = new FileInputStream("D:\\demo.py");
3 interpreter.execfile(filepy); ///執行python py文件
4 filepy.close();
3. 使用Runtime.getRuntime()執行腳本文件
這種方式和.net下面調用cmd執行命令的方式類似。如果執行的python腳本有引用第三方包的,建議使用此種方式。使用上面兩種方式會報錯java ImportError: No mole named arcpy。
1 Process proc = Runtime.getRuntime().exec("python D:\\demo.py");
2 proc.waitFor();
8. 在java代碼中調用python並傳遞參數
需要用到需要用到jython.jar
java example:
public static void main(String[] args) {
//定義參數
String[] args2 = {"arg1","arg2"};
//設置參數
PythonInterpreter.initialize(null, null, args2);
PythonInterpreter interpreter = new PythonInterpreter();
//執行
interpreter.execfile("E:\\jython.py");
System.out.println("----------run over!----------");
}
python的程序:
#!/bin/env python
import time
import sys
argCount = len(sys.argv)
print('before sleep')
time.sleep(5);
print('after sleep')
for str in sys.argv:
print(str)
9. Java中調用python代碼,找不到Jython的類
這個jytjon-installer-2.7-b1.jar 不是你需要的jar包,這個是你所需要jar包的安裝器,
在jytjon-installer-2.7-b1.jar所在目錄下執行java -jar jython-installer-2.7-b1.jar把它安裝起來你就明白了。