本文目錄一覽:
- 1、在java代碼中調用python並傳遞參數
- 2、如何將java程序的數據傳遞至python
- 3、python 新手請教,用java調用.py如何用java傳入python參數,謝謝
- 4、java調用python時傳遞的參數問題?
- 5、用java執行python
在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)
如何將java程序的數據傳遞至python
這種屬於進程間通信了吧。
給你點提示:最簡單的,將數據存儲至某個文件。java和python都讀取這個文件,之間可以進行通信吧。再比如,都去資料庫讀寫一些數據,也是可以的把。再比如都提供一個http協議的介面,那麼他們兩個直接可以相互的調用,也可以通信吧。再比如 使用socket 進行通信。
python 新手請教,用java調用.py如何用java傳入python參數,謝謝
你調用python文件應該是命令行吧?
把文件路徑作為命令行參數傳給python文件來執行,python文件通過sys來得到參數
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)
用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 module named arcpy。
1 Process proc = Runtime.getRuntime().exec(“python D:\\demo.py”);
2 proc.waitFor();
原創文章,作者:S0WPU,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/130802.html