Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

java调用python脚本

作者:热血震荡   发布日期:2026-06-16   浏览:126

import java.io.BufferedReader;
import java.io.InputStreamReader;

public class JavaCallPython {
    public static void main(String[] args) {
        // 定义要调用的Python脚本路径
        String pythonScriptPath = "script.py";  // 假设Python脚本在同一目录下

        try {
            // 创建运行时对象
            ProcessBuilder pb = new ProcessBuilder("python", pythonScriptPath);
            Process process = pb.start();

            // 获取Python脚本的输出
            BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
            String line;
            while ((line = reader.readLine()) != null) {
                System.out.println(line);  // 打印Python脚本的输出
            }

            // 等待Python脚本执行完毕
            int exitCode = process.waitFor();
            System.out.println("\nExited with code: " + exitCode);  // 输出退出码

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

解释说明:

  1. ProcessBuilder: 用于启动一个新的进程来执行Python脚本。ProcessBuilder可以接收命令和参数,这里是"python"命令和Python脚本的路径。
  2. BufferedReader: 用于读取Python脚本的标准输出流,并逐行打印到Java控制台。
  3. waitFor(): 等待Python脚本执行完毕,并返回退出码。退出码为0表示正常结束,非0表示有错误发生。
  4. 异常处理: 捕获并打印任何可能发生的异常,确保程序不会因未处理的异常而崩溃。

如果你需要在不同的环境中运行(例如Windows或Linux),请确保python命令可用,并且Python解释器已正确安装和配置。

上一篇:java string转byte数组

下一篇:java判断字符串是否包含某个字符(串)

大家都在看

java url decode

java判断是windows还是linux

java原始数据类型

java连接数据库的代码

java date类型比较大小

java djl

ubuntu 卸载java

es java api

java常用的设计模式有哪些

java list 查找

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站