java调用python2并传参_java调用python脚本,传入参数

1. java代码

public class Cmd {

public static void main(String[] args) throws Exception {

try {

System.out.println("start");

//Runtime.getRuntime().exec("python 脚本路径 参数1 参数2 参数n");

//不支持传入形参

Process pr = Runtime.getRuntime().exec("python C:\\Users\\54225\\Desktop\\test1.py sample-debug.apk");

BufferedReader in = new BufferedReader(new InputStreamReader(pr.getInputStream()));

String line;

while ((line = in.readLine()) != null) {

System.out.println(line);

}

in.close();

pr.waitFor();

System.out.println("end");

} catch (Exception e) {

e.printStackTrace();

}

}

}

2.python代码

import sys

import urllib

print (sys.argv[0])    #参数[0] 是脚本路径

print (sys.argv[1])    #参数[1] 是传入参数1

3.结果

start

C:\Users\54225\Desktop\test1.py

sample-debug.apk

end

Java中使用`Runtime`调用Python文件并传入参数可以通过执行命令行的方式来实现。以下是一个示例: ```java import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) { try { // 构建命令行命令 String pythonScriptPath = "/path/to/script.py"; String[] cmd = new String[3]; cmd[0] = "python"; // Python解释器的路径,如果已在环境变量中,可以直接使用"python" cmd[1] = pythonScriptPath; cmd[2] = "argument1"; // 递给Python脚本参数 // 创建ProcessBuilder对象 ProcessBuilder pb = new ProcessBuilder(cmd); // 启动进程并等待其完成 Process process = pb.start(); int exitCode = process.waitFor(); // 读取Python脚本的输出 BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); String line; while ((line = reader.readLine()) != null) { System.out.println(line); } if (exitCode == 0) { System.out.println("Python脚本执行成功"); } else { System.out.println("Python脚本执行失败"); } } catch (IOException | InterruptedException e) { e.printStackTrace(); } } } ``` 上述示例中,通过构建命令行命令,在`cmd`数组中定义了要执行的Python脚本路径和递给脚本参数。然后通过`ProcessBuilder`启动进程,执行Python脚本。最后可以通过读取进程的输出流来获取Python脚本的输出。 请将示例中的`/path/to/script.py`替换为您实际的Python脚本路径,并根据需要修改递给脚本参数。 希望能帮到您!如果有任何疑问,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值