Java 调用Python脚本并传递参数

Java 调用Python脚本并传递参数nbsp nbsp nbsp nbsp nbsp 在一些复杂的应用场景中 脚本语言可能只是充当实现基础功能的模块 接受其它编程语言模块的 调遣 在此 我以 Java 语言为例 介绍调用 Python 模块的方法 1 基于 Java lang Process 调用 Python 脚本 1 1Process 概述 nbsp nbsp nbsp nbsp Process 类是一个抽象类 所有的方法均是抽象的 封装了一个进程 即一个执行程序 Process 类提供了执行从进程输入 执行输出到

     在一些复杂的应用场景中,脚本语言可能只是充当实现基础功能的模块,接受其它编程语言模块的“调遣”,在此,我以Java语言为例,介绍调用Python模块的方法。

1 基于Java.lang.Process调用Python脚本

1.1 Process概述

    Process类是一个抽象类(所有的方法均是抽象的),封装了一个进程(即一个执行程序)。Process 类提供了执行从进程输入、执行输出到进程、等待进程完成、检查进程的退出状态以及销毁(杀掉)进程的方法。 ProcessBuilder.start() 和 Runtime.exec 方法创建一个本机进程,并返回 Process 子类的一个实例,该实例可用来控制进程并获取相关信息。 

     创建进程的方法可能无法针对某些本机平台上的特定进程很好地工作,比如,本机窗口进程,守护进程,Microsoft Windows 上的 Win16/DOS 进程,或者 shell 脚本。创建的子进程没有自己的终端或控制台。它的所有标准 io(即 stdin,stdout,stderr)操作都将通过三个流 (getOutputStream(),getInputStream(),getErrorStream()) 重定向到父进程。父进程使用这些流来提供到子进程的输入和获得从子进程的输出。因为有些本机平台仅针对标准输入和输出流提供有限的缓冲区大小,如果读写子进程的输出流或输入流迅速出现失败,则可能导致子进程阻塞,甚至产生死锁。 
    当没有 Process 对象的更多引用时,不是删掉子进程,而

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/231464.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号