java 调用python,shell脚本

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情
今天浅谈一下java调用python,shell脚本中遇到的问题,在java web类项目中需要一个爬虫系统来爬取一些数据到数据库,但是考虑到用java做的爬虫比python复杂,而且python做爬虫简单,爬取的速度也比java要快,所以决定用python来编写爬虫,最后用java来调用python脚本来实现,但是最后的运行的结果并不像当初想的那么简单,首先我用python的爬虫框架scrapy新建一个爬虫项目,由于运行scrapy项目要到创建项目的目录下运行,而我的java项目目录和scrapy项目部在同一个目录下,所以调用不成功,此时我们都会想到是不是把scrapy项目和我们的java web项目放到同一个目录下就ok了?但事实上并不是,还是调用不成功,最后自己编写了一些python文件的简单的脚本调用可以成功,但是我们的scrapy项目中要用到很多包,所以怎么调用都不成功,最后被逼无奈,只好用java调用shell,shell调用python脚本来试试,经过反复试了试,最后可以成功,但是有一个用户体验不好的地方就是 当你用java 调用shell 脚本时会有dos窗口打开,当命令运行完后就关闭了,这点用户体验非常的不好。现在还是没有想明白java为什么不能调用复杂的python脚本?欢迎各位大神来指点。
利用Python+Java调用Shell脚本时的死锁陷阱详解 前言 最近有一项需求,要定时判断任务执行条件是否满足并触发 Spark 任务,平时编写 Spark 任务时都是封装为一个 Jar 包,然后采用 Shell 脚本形式传入所需参数执行,考虑到本次判断条件逻辑复杂,只用 Shell 脚本完成不利于开发测试,所以调研使用了 PythonJava 分别调用 Spark 脚本的方法。 使用版本为 Python 3.6.4 及 JDK 8 Python 主要使用 subprocess 库。Python 的 API 变动比较频繁,在 3.5 之后新增了 run 方法,这大大降低了使用难度和遇见 Bug 的概率。 subprocess.run(["l 立即下载

相关推荐

java直接调用python脚本的例子

有时需求使用JAVA直接调用python脚本,执行一些服务器监控的事情。 本文给出一个java直接调用python脚本的例子

如何使用JAVA程序执行shell指令,并获得执行结果

需要使用.java.lang包下的 Process类 第一步: 定义好要执行的shell指令 例如:需要输入 python 1.py 来执行当前目录下的 1.py 文件, 则我们需要定义一个存储指令的String数组 String[] arguments = new String[] {"python", "1.py"}; 第二步: 通过以下语句来执行shell指令,并返回一个Process对象: Process process = Runtime.getRuntime().exec(arguments)

ZepngLin的博客 1089

Java程序中实现调用Python脚本的方法详解

主要介绍了Java程序中实现调用Python脚本的方法,结合实例形式分析了eclipse环境中使用Java调用Python脚本的相关操作技巧与注意事项,需要的朋友可以参考下

JAVA调用PythonShell

工作日志--java

u013361107的博客 701

记录笔记<java调用shell脚本shell脚本调用python> 传参

package com.hansight.atom.custom.abilityPower.util; import org.apache.commons.lang.ArrayUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.InputStreamReader; import java.io.LineNumberReader; public class JaveShellUtil { pr

m0_54138989的博客 442

Java 执行命令并读取缓冲区内容

try { Process process = Runtime.getRuntime().exec("sh /home/test.sh"); BufferedReader inr = new BufferedReader(new InputStreamReader(process.getInputStream(),"GBK")); String line = null; while ((line...

zolty 574

java调用python脚本

java调用python脚本,推荐使用第三种方法,因为只有第三种方法使用Runtime.getRuntime()才能执行含有第三方库(numpy,matlab,pandas等库)的python脚本

自己在学习过程中的总结 8979

java 调用python实现shell脚本上传到远端服务器,并执行这个shell脚本

java 调用python实现shell脚本上传到远端服务器,并执行这个shell脚本。 1.java代码 备注:调用python传人第一个参数一定是自己python的位置,否则使用idea的默认python,可能输出为null. import java.io.IOException; import java.io.InputStreamReader; import java.io.LineNumberReader; public class RuntimeFunction { public

ZHAOXING_ME的博客 878

关于Java调用shell执行python脚本遇到的问题总结

(一) Java调用shell方法 public static String ReadCmdLine(String command){ StringBuilder result = new StringBuilder(); Process process = null; BufferedReader bufrIn = null; BufferedRea...

qq_39563897的博客 3268

Jenkins Pipeline调用ShellPythonJava脚本的正确使用姿势

在设计Pipeline脚本的过程中,经常会遇到调用外部脚本来配合实现某些功能的场景。例如在服务器上执行shell命令、运行python或者java测试代码以及使用groovy脚本来实现一些更为复杂的功能等等。下面我就会针对这三种最常用的脚本使用场景进行详细说明!

5051

Jenkins Pipeline调用shellpythonjava、groovy脚本的正确使用姿势

在设计Pipeline脚本的过程中,经常会遇到调用外部脚本来配合实现某些功能的场景。例如在服务器上执行shell命令、运行python或者java测试代码以及使用groovy脚本来实现一些更为复杂的功能等等。下面我就会针对这三种最常用的脚本使用场景进行详细说明! 执行shell命令 1.使用 sh "<shell command>" 就可以完成执行shell命令的操作。 例如:进入某个目录 sh "cd myfile" 2.多条shell命令的组合使用,需要使用;进行连接 ...

liwenxiang629的博客 4679

大数据平台开发——使用JavaPython调用Shell脚本

大数据平台开发——使用JavaPython调用Shell脚本

虎鲸不是鱼 1069

Java代码中调用shell脚本python脚本并获得输出结果(分为小数据量和大数据量)

Java代码中调用shellpython脚本有多种实现方式,通用方式是使用java.lang中的Runtime类新开进程,调用python脚本的一个例子如下(shell同理): public String python(String pythonPath, String[] params) { File file = new File(pythonPath);

c_craft的专栏 5113

java调用python或者shell脚本

         前阵子工作中遇到一个问题,用java执行一个存取过程,花费时间很长(以前的项目,貌似业务操作只能在存取过程中执行),在执行的过程中因为执行时间过长,进程会执行一半就中断了,确认了不是java数据库连接池自动中断,我在本地模拟存取过程(在mysql中休眠),发现不会中断,查看mysql超时参数设置也是大于执行时长的。就不会出现中断操作(感觉还是服务器上的mysql参数设置问题,查看...

dailingnan0827的博客 917

sh脚本调用python并接收结果_Java代码中调用shell脚本python脚本并获得输出结果(分为小数据量和大数据量)...

本文由我司收集整编,推荐下载,如有疑问,请与我司联系Java代码中调用shell脚本python脚本并获得输出结果(分为小数据量和大数据量)2015/12/233161Java代码中调用shellpython脚本有多种实现方式,通用方式是使用java.lang中的Runtime类新开进程,调用python脚本的一个例子如下(shell同理):publicStringpython(String...

weixin_39533174的博客 185

java SpringBoot中执行pythonshell脚本

最近项目上有一个需求需要暴露rest请求,这个rest请求要去执行python或者shell脚本

csdn_tiger1993的博客 837

Java调用shell脚本及参数传递

Java调用shell脚本及参数传递需求脚本示例执行代码封装工具类最后 需求 项目需求:由于Python没有提供Http请求的接口,而是以脚本的方式调用Java需要调用pyhon脚本得到结果返回写入文件,然后Java再读取写入的文件,拿到结果页面展示。 坑:这种方式适合单线程模式,不是个多个请求并发,写入的文件是固定的,并发情况下,第一的请求如果读取的是第二次请求的结果,就会有问题。 脚本示例 Java代码不是直接调用python脚本,而是先调用shell脚本shell脚本调用python脚本,Ja

刘军的博客 2658

JAVA调用系统命令:pythonshell

实际项目开发场景中,可能会用到java项目调用系统命令的需求,如调用python或者shell脚本 可以参考如下例子,例子来源于ambari源码: \ambari\ambari-server\src\main\java\org\apache\ambari\server\security\CertificateManager.java /** * Runs os command *...

微信公众号:大数据从业者 267

java操作Linux 调用shell命令,shell脚本

1.问题 在最近做的项目当中,需要用Java调用基于python写的两个不同的模型运行并且得到实验结果: 1.在服务器上运行的文本识别模型 2.在本地Ubuntu中annacoda 虚拟环境中运行的影像识别模型 由于两个模型都是在终端执行,于是考虑用java代码直接调起终端,然后让终端执行指定的shell命令,测试代码如第二节; 由于模型的启动模型在不同的项目路径下,这种情况下指令需要好几条,有点...

weixin_34183910的博客 1801
上一篇: python scrapy 爬虫
下一篇: 自动化测试操作文档
Yannis_csdn
博客等级 码龄11年 0粉丝 3原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值