本文目录一览:
- 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();