尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

Java调Python脚本实时输出print信息

Java调Python脚本实时输出print信息
📅 发布时间:2026/7/28 15:46:10

Java调Python脚本实时输出print信息

在Java中,通过Runtime调用Python脚本时,如果要实时输出脚本的print信息,需要加上参数“-u”。否则Python默认会有输出缓存。
python -h有说明:

测试脚本:

import sys import time looptime=5 while looptime>0: print "Hello World! " + str(looptime) print time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) looptime -= 1 time.sleep(3)

Java代码:

public static void main(String[] args) { Runtime runtime = Runtime.getRuntime(); Process pro = null; ArrayList<String> cmd = new ArrayList<String>(); cmd.add("python"); cmd.add("-u"); //!!!==加上参数u让脚本实时输出==!!! cmd.add("script/python/test.py"); cmd.add("param1=value1#param2=value2") pro = runtime.exec(cmd.toArray(new String[0])); Thread oThread = printMessage(pro.getInputStream(), pro.getErrorStream()); oThread.join(); int status = pro.waitFor(); System.out.println("Script exit code is:"+status); } public Thread printMessage(final InputStream out, final InputStream err) { Thread thread = new Thread(new Runnable() { public void run() { Reader outReader = new InputStreamReader(out); BufferedReader outBf = new BufferedReader(outReader); Reader errReader = new InputStreamReader(err); BufferedReader errBf = new BufferedReader(errReader); String outLine = null, errLine = null; try { while ((outLine = outBf.readLine()) != null || (errLine = errBf.readLine()) != null) { if(outLine!=null) { outLine = OmpUtils.dateAsString("yyyy-MM-dd HH:mm:ss.S", new Date()) + ">>" + outLine + "\n"; System.out.print("[OUT]------>>"+ outLine); } if(errLine!=null) { errLine = OmpUtils.dateAsString("yyyy-MM-dd HH:mm:ss.S", new Date()) + ">>" + errLine + "\n"; System.out.print("[ERR]------>>"+ errLine); } outLine = errLine = null; } outBf.close(); errBf.close(); } catch (IOException e) { logger.error("Error when read", e); try { outBf.close(); errBf.close(); } catch (IOException e1) { logger.error("Error when close", e1); } } } }); thread.start(); return thread; }

相关新闻

  • 提交本地项目到码云报错
  • 办公效率提升方案:OpenClaw 2.7.9 本地部署与电脑自动化实操指南
  • 2026花桥镇高端实木定制公司哪家好避坑指南:6个挑选要点,帮你绕开90%的坑 - geo88

最新新闻

  • 抖音下载神器:三步搞定批量下载、无水印保存与智能管理
  • Raft 实现中的死活锁场景分析:从选举风暴到日志一致性的边缘案例集合
  • AI教育培训应用如何真正提分?揭秘2024年头部机构私藏的7个数据驱动教学闭环设计
  • JavaScript笔记:BOM--event
  • AI推理成本暴跌63%的秘密:Llama 3、Qwen2、Phi-3在8卡A10 vs 2×H100真实吞吐与$每千token对比(独家压测数据)
  • 长期投资与复利效应:财富积累的核心策略

日新闻

  • 力旷智能:伺服驱动系统在制药收瓶设备中的应用解析
  • 2026 网安入门避坑指南,零基础如何避开无效学习直接上手实战
  • 揭秘CFC项目:如何通过手机摄像头实现850kbps无网络文件传输

周新闻

  • 大连理工大学与东京大学联手打造的“主动型AI助手“
  • 170.2026年国家级科研瓶颈:超精密单点金刚石切削(SPDT)光学表面生成
  • SongBloom:革命性歌曲生成框架深度解析——如何通过交织自回归与扩散模型创作完整音乐

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号