您的位置:

java给python传递参数(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();