Java Runtime.getRuntime().exec()调用python含第三方库时无返回值

Java Runtime.getRuntime().exec调用python程序问题总结 Java Runtime.getRuntime().exec调用python程序 阅读详情

Runtime.getRuntime().exec()调用python含第三方库无返回值时,需要指定第三方库的位置,如下代码

package com.naihe.test;

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


public class Test {
    public static void main(String[] args) throws IOException{
        Process proc;
        try {
            String[] aaa = new String[]{"D:\\Anaconda3\\python.exe", "D:\\Pythonworkspace\\Python_Class\\aaa.py"};
            proc = Runtime.getRuntime().exec(aaa);// 执行py文件
            //用输入输出流来截取结果
            BufferedReader in = new BufferedReader(new InputStreamReader(proc.getInputStream(), "GBK"));
            String line = null;
            while ((line = in.readLine()) != null) {
                System.out.println(line);
            }
            in.close();
            proc.waitFor();
        } catch (IOException e) {
            e.printStackTrace();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
}
import pymysql

host = '数据库地址'
user = '用户名'
password = '密码'
database = '库名'

# 连接database
conn = pymysql.connect(host=f'{host}', port=3306, user=f'{user}', password=f'{password}', database=f'{database}', charset='utf8')
# 得到一个可以执行SQL语句并且将结果作为字典返回的游标
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)

# 查询数据的SQL语句
sql = "select * from student"
# 执行SQL语句
cursor.execute(sql)
# 获取所有数据
for i in range(cursor.execute(sql)):
    print(cursor.fetchone())
# 获取单条查询数据
# ret = cursor.fetchone()
cursor.close()
conn.close()

在这里插入图片描述
在这里插入图片描述

java调Python脚本(五):java通过 Runtime.getRuntime().exec()调Python脚本一直没有返回值,卡住了,数据太大 1、背景: 当我们调用系统外部的某个程序,此时就可以用Runtime.getRuntime().exec()来调用。这次java调Python算法代码时,一直没有返回值,卡住了,而用pycharm跑Python代码是正常的,说明是java这边的问题。去看了后台的java进程一直都在,挂住了,找了好久才想到是阻塞问题, 原来是因为Python文件中返回的数据太大而且很多,况且Python运行中出现... 阅读详情

相关推荐

Java调用Python协同开发的方式

Java与Python结合开发是指将Python语言与Java语言结合起来,利用它们的优势,共同开发一个应用程序。Python解释器:安装Python解释器,并且可以在命令行中执行python命令。Python语言拥有许多强大的特性,如易于学习、快速开发、可扩展性等,而Java语言则拥有跨平台、可靠性、安全性等优势,因此将它们结合起来,可以发挥出更大的作用。

qq_43170312的博客 2719

测试Runtime.getRuntime().exec等待读取返回值

Test.java import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; /** * @author zhy * @date 2020/2/11 22:29 */ public class Test { public static void mai...

zhy的博客 5377

HWSD中国土壤数据库

T_PH_H2O: Real (酸碱度) T_CEC_CLAY: Real (粘性层土壤的阳离子交换能力);T_CEC_SOIL: Real (土壤的阳离子交换能力) T_BS: Real (基本饱和度);T_CACO3: Real (碳酸盐或石灰含量) T_CASO4: Real (硫酸盐含量);ADD_PROP: Real (土壤单元中与农业用途有关的特定土壤类型);T_USDA_TEX: Real (USDA土壤质地分类);T_REF_BULK: Real (土壤容重);

地球资源数据云的官方博客 4651

解决Runtime.getRuntime().exec长时间等待无法获取返回状态值

情景再现 test.py #!/usr/bin/python import time import sys print "Start : %s" % time.ctime() time.sleep( 5 ) print "End : %s" % time.ctime() for i in range(0, 1000000): sys.stderr.write("msg") Test....

zhy的博客 5224

基于PLC的茶叶揉捻机自动控制系统设计【附代码】

茶叶揉捻是初茶加工过程中的一道关键工序,通过揉捻可以使鲜茶叶成条、碎茶及叶组织细胞破损等。影响茶叶成条率、碎茶率和叶组织细胞破损的主要因素包括揉捻时间、压力和揉捻桶转速。为了提高茶叶品质的稳定性和减轻工人的劳动强度,本文提出了一种基于PLC自动控制技术的茶叶揉捻机控制系统设计。📊 PLC自动化设计 | 毕业设计指导 | 工业自动化解决方案。✅ 具体问题可以私信或查看文章底部二维码。✅ 感恩科研路上每一位志同道合的伙伴!

lagougongzuoshi的博客 1341

weblogic 集群搭建,双机部署,相关问题记录

4.5.集群搭建1 参考网址https://wenku.baidu.com/view/76365129cd1755270722192e453610661ed95aa4.html IP地址 端口 角色 192.168.1.160 9001 AdminServer ...

zl386119974的专栏 1669

『Java安全』Runtime执行cmd、shell命令并输出返回值_反射调用Runtime执行命令

文章目录前言直调执行cmd、shell命令无需回显需要回显、输出返回值反射执行命令以String传入指令以String[]传入指令完 前言 由于系统对命令的空格分隔符会截断错误,因此对长指令如ls -al /最好不要用String传入,而是使用String[] cmd = {"ls", "-al", "/"}用字符串数组的形式传入 直调执行cmd、shell命令 无需回显 不要回显只是运行直接exec即可 String[] cmd = {"calc"}; Runtime.getRuntime.exec(cm

Ho1aAs‘s Blog 6549

基于电子海图的水面无人艇全局路径规划

Research and Implementation of Global Path Planning for Unmanned Surface Vehicle Based on Electronic Chart (基于电子海图的水面无人艇全局路径规划)   该论文已经在ICMIR2017会议上发表,附上springer的文献地址 Research and Implementation of Gl...

weixin_30797199的博客 1590

Runtime.getRuntime().exec详解

Runtime.getRuntime().exec 用于调用外部可执行程序或系统命令,并重定向外部程序的标准输入、标准输出和标准错误到缓冲池。功能和windows“运行”类似。

qq1091606981的专栏 1万+

IDEA 导入 jbolt项目(实验室非公开项目)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录准备一、准备数据库二、IDEA导入jbolt项目 准备 在实验室群文件中下载jbolt.zip和mysql.sql两个文件 将其解压到自己的目录下 一、准备数据库 打开Navicat新建一个jbolt数据库(字符集为utf8) 导入mysql.sql文件 数据库导入完毕 二、IDEA导入jbolt项目 点击打开一个项目 选择jbolt文件夹 以Maven形式打开 打开pom.xml 在里面添加jetty-server依赖

weixin_44094842的博客 972

搭建Dzzoffice 教程

通过以上步骤,您已经成功配置了WEB环境,安装了DzzOffice,并完成了系统设置和应用安装。1.安装包的设置默认是系统盘之外的第二个盘,没有其他盘符的时候则安装在C盘,当主机盘符只有C盘可用的时候,安装时不要使用U盘,否则可能误装到U盘当中。4.如果之前已经安装,再次安装时请确保上次安装已经卸载或者所有文件可读,否则请备份文件,卸载之后再安装。在其他安装环境中,我没有相关的使用经验。3. 保证安装路径是纯净的,安装路径下不能有已安装的V8版本,若重新安装,请选择其它路径。

小胡的博客 4949

java运行python脚本_java调用python脚本

常见的java调用python脚本方式通过jython.jar提供的类库实现 (不建议使用,因为会报module没有找到的错误,总之就是很蛋疼,要设置一系列的参数)通过Runtime.getRuntime()开启进程来执行脚本文件(建议使用,原因:简单粗暴我喜欢!!!)在这个里面注意:调用py脚本的时候,先用windows的dos界面去运行下 命令: python xxxx.py,测试,脚本可以调...

weixin_39814482的博客 237

Claude Code教程(二) | Claude Code 核心信息与使用指南

Claude Code 核心信息与使用指南

qq_20236937的博客 2181

java使用python_Java调用Python示例

Java调用Python相关问题如果python脚本中需要用到第三方库,则最好要用Runtime.getRuntime().exec的方法来从Java中调用python。新建 test.py脚本import sysdef hello(name,age,num):print('name:'+name)print('age:'+age)print('num:'+num)total = age+nump...

weixin_39526651的博客 164

C#上位机+YOLOv8实战:摄像头/视频流实时目标检测(工业级优化+完整可运行源码)

纯C#实现,无Python依赖,适配工业工控机部署;工业级优化:解决帧率、内存、鲁棒性三大核心问题;代码完整可复用,支持摄像头/视频流/RTSP多源检测;避坑指南覆盖开发中90%的常见问题,降低落地成本。相较于传统方案,该方案兼顾实时性与易用性,成本仅为商用视觉库的1/10,可快速落地到工业质检、安防、物流等场景。后续可拓展方向包括:自定义数据集训练、GPU加速推理、工业通信(PLC/串口)对接等。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 731

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

java 使用Runtime.getRuntime().exec()时Process.waitFor()死锁问题理解和解决

前言 最近在开发一个系统时,需求是Java调用Python脚本,这里我使用 Process process = Runtime.getRuntime().exec() 来调用,脚本用命令行能完整运行,但用Java调却一直转圈圈,等很久也不见结束.文章为记录… 参考文章 process参考 waitfor挂起解析 1.使用process调用py脚本 public static ResultVO pyInvoke(String[] arguments) throws Exception { .

zty 3959

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Runtime.getRuntime.exec线程阻塞问题

一、问题描述: Java利用Runtime.getRuntime().exec()调用Python脚本,如果不及时捕获进程的输出,会导致JAVA线程的阻塞。看似被调用的进程没有退出,但无法继续往下执行。 二、阻塞原因: Java执行Runtime.getRuntime().exec()时,JVM会创建一个新的子进程去调用Python脚本,同时该子进程与JVM建立三个连接管道:标准输入...

gongli7143的博客 3656

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

java执行python脚本_使用Runtime.getRuntime().exec()在java中调用python脚本

举例有一个Python脚本叫test.py,现在想要在Java里调用这个脚本。假定这个test.py里面使用了拓展的包,使得pythoninterpreter之类内嵌的编译器无法使用,那么只能采用java调用控制台进程,即 Runtime.getRuntime().exec(),来运行这个python脚本。在windows下运行这个程序,假如是参考了一些百度来的被转载了无数遍的文章,很有可能运行结...

weixin_39911007的博客 1192

使用Runtime.getRuntime().exec()在java中调用python脚本

举例有一个Python脚本叫test.py,现在想要在Java里调用这个脚本。假定这个test.py里面使用了拓展的包,使得pythoninterpreter之类内嵌的编译器无法使用,那么只能采用java调用控制台进程,即Runtime.getRuntime().exec(),来运行这个python脚本。在windows下运行这个程序,假如是参考了一些百度来的被转载了无数遍的文章,很有...

dengtinghuan5005的博客 462

Java 调用 Python 方法学习笔记---之---java调用python深度学习模型运算并返回运算结果给前端(2)

上一章写到Java 调用 Python 方法学习的三种方法,这里强调第三种方法。第三种方法本质上和第二种方法是一样的,都是应用到 Runtime.getRuntime().exec() 去执行文件。要深度理解这种方法,首先要先理解一下Runtime.getRuntime().exec() 。 Runtime.getRuntime().exec(): Runtime.getRuntime()....

David_Yang_7的博客 6868

Runtime.getRuntime.exec()使用

我在一个项目中需要使用java调用python代码,我就想到了用java调用命令行执行,这里就是在执行过程中的一些见解。

qq_44878786的博客 1856

Runtime.getRuntime().exec方法envp设置系统环境变量参数的使用

因为没有设置到Python的系统环境变量,所以执行Python脚本时,要设置 public static void main(String[] args) { String[] cmdarray = new String[] { "cmd", "/c", "python D:\\python2\\test.py"}; String[] envp = new String[] {&amp

mirana的专栏 1万+

java Runtime.getRuntime().exec()学习

Runtime.getRuntime().exec(”python xx.py“) 这个知道会起一个线程去执行python脚本,但是执行过程中的日志,以及你等待这个脚本的执行时间是否有考虑?* 2025-01-21 15:55:05:058-success:来自 183.2.172.185 的回复: 字节=32 时间=9ms TTL=45。我们在cmd的时候看到的日志都是一行一行的输出,这里的日志都是整体输出的,不一样呀?//可以看到确实是等待了2s,但是还是3s之后输出任务日志,和我们预想的不一样。

cclovezbf的博客 867

Java 调用 Python 脚本

实际工程项目中可能会用到 Java 和 python 两种语言结合进行,这样就会涉及到一个问题,就是怎么用 Java 程序来调用已经写好的 python 脚本呢,一共有四种方法可以实现: 1、在 java 类中直接执行 python 语句 此方法需要引用 org.python包,需要下载Jpython。 Jython 是一种完整的语言,而不是一个Java翻译器或仅仅是一个Python编译器,它是一个 Python 语言在 Java 中的完全实现。Jython 是在 JVM 上实现的 Python,由 J

IT__learning的博客 7006

Runtime.getRuntime().exec实现Java调用python程序

在使用jython实现Java调用python程序,如果python程序中包含有第三方库(如numpy),则会报如下错误: Exception in thread "main" Traceback (innermost last): File "pyfile/detect.py", line 3, in ? ImportError: no module named numpy 推荐使用的...

cchangcs 7296
上一篇: eclipse设置字体大小、背景颜色和提示
下一篇: 下载erlang的.rpm文件 erlang下载 centos安装rabbitmq
th3000
博客等级 码龄9年 22粉丝 8原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值