java代码调用python_java 直接调用python脚本,并传递参数代码实例|chu
最近陆续用python写了很多文件处理脚本,虽然功能都比较简单 ,但还是感觉到python对文件处理的简洁高效 ,越发觉得java的语法相当的繁琐~
接到个需求处理ftp数据接口 。所以想把python脚本也用上。java代码定时扫描ftp数据仓库 ,调用python脚本入库。
直接采用java执行系统命令的方式
@Async public void readFileByPython(List filePaths) throws FileNotFoundException { URL localSrcUrl = AbstractReadFileLine.class.getResource(""); String localSrcPath = localSrcUrl.getPath(); localSrcPath = localSrcPath.substring(1, localSrcPath.length()); String pythonFile = localSrcPath + "PythonFileHandle.py"; int size = filePaths.size() + 2; String[] args = new String[size]; args[0] = "python"; args[1] = pythonFile; for(int i =0;i"); while((line = br.readLine())!=null){ System.out.println(line); System.out.println(""); int exitValue = proc.waitFor(); System.out.println("Process exitValue="+exitValue); } System.out.println("end"); } catch (Exception e){ e.printStackTrace(); } }
String[] args = new String[size];
args[0] = "python"; args[1] = pythonFile; args[0]表示要执行的是python 脚本 ,args[1] 脚本文件的全路径
该方法调用 AbstractReadFileLine.class 文件路径下的 PythonFileHandle.py 脚本 ,并传入String数组类型的参数(需要处理的文件全路径)
PythonFileHandle脚本接受java传入的文件路径参数(数组),解析并入库
PythonFileHandle.py 代码
import pymssql,time,sys reload(sys) sys.setdefaultencoding("utf-8") class MSSQL: def __init__(self,host,user,pwd,db): self.host = host self.user = user self.pwd = pwd self.db = db def __GetConnect(self): if not self.db: raise(NameError,"") self.conn = pymssql.connect(host=self.host,user=self.user,password=self.pwd,database=self.db,charset="utf8") cur = self.conn.cursor() if not cur: raise(NameError,"") else: return cur def ExecQuery(self,sql): cur = self.__GetConnect() cur.execute(sql) resList = cur.fetchall() # self.conn.close() return resList def ExecNonQuery(self,sql): cur = self.__GetConnect() cur.execute(sql) self.conn.commit() self.conn.close() def insertToCloseList(data ,ms): sql = "insert into t_isee_closelist_infos (WORK_ORDER_ID,CRM_Cdsc_Id,APPRAISE_TYPE,CRM_Accept_Date,latn_code,theme_row_id,TASK_EXECUTE_ROW_ID,CRM_Accept_REASON,ASSET_INTEG_ID) values ( '" temp ="' , '" sqlStr = temp.join(data) sql = sql + sqlStr + "')" ms.ExecNonQuery(sql) ms = MSSQL(host="172.30.0.186",user="sa",pwd="",db="test") fengefu = '$%$' for i in range(1, len(sys.argv)): read = open(sys.argv[i] ,'r') for line in read: line=line.strip('n') data = line.split(fengefu) insertToCloseList(data,ms) read.close
sys.argv[0] 存储的是py文件自身的路径,故接受参数从sys.argv[1]开始。
以上所述是小编给大家介绍的java调用python脚本传递参数详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对华域联盟网站的支持!
java代码调用python_java 直接调用python脚本,并传递参数代码实例|chu相关推荐
- java执行python脚本并传递参数_从Java执行Python脚本存在参数传递问题
我试图从Java执行一个python脚本.当我手动执行python脚本时,它正常工作.当我从Java执行它时,它的参数有问题:事实上,python的响应是"Usage"错误,就像我 ...
- 调用python脚本并传递参数json格式_使用 Python 处理 JSON 格式的数据
如果你不希望从头开始创造一种数据格式来存放数据,JSON 是一个很好的选择.如果你对 Python 有所了解,就更加事半功倍了.下面就来介绍一下如何使用 Python 处理 JSON 数据. JSON ...
- python从文件中读取数据_使用Python脚本从文件读取数据代码实例
这篇文章主要介绍了使用Python脚本从文件读取数据代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 最近自学Python的进度比较慢,工作之 ...
- python参数传递方法_深入理解python中函数传递参数是值传递还是引用传递
python 的 深入理解python中函数传递参数是值传递还是引用传递 目前网络上大部分博客的结论都是这样的: Python不允许程序员选择采用传值还是传 引用.Python参数传递采用的肯定是&q ...
- linux下执行python脚本并传入参数_实现在Java中执行python代码或py脚本(可传参数)...
写在前面 最近用Java写服务端程序时,遇到这样一个需求:需要把用python写的机器学习算法部署到服务器上,然后Java执行py脚本,并且取得算法执行的结果.在网上找了很久,有些跑不通,有些是基于w ...
- 使用C#调用Python脚本,带参数列表
static void Main(string[] args){string[] strArr;//参数列表string sArguments = @"Pythons.py";// ...
- 【Groovy】Groovy 脚本调用 ( 命令行执行 Groovy 脚本并传入参数 | 获取 Groovy 脚本执行参数 )
文章目录 前言 一. 命令行执行 Groovy 脚本并传入参数 二.获取 Groovy 脚本执行参数 前言 在 Groovy 脚本 , Groovy 类 , Java 类中 , 可以调用 Groovy ...
- 包教包会!7段代码带你玩转Python条件语句(附代码)
来源:大数据 本文约5200字,建议阅读10分钟. 本文介绍了Python条件语句常用的7段代码. [ 导 读 ]条件语句通过一个或多个布尔表达式的执行结果(真值或假值)决定下一步的执行方向.所谓布尔 ...
- 两行代码完成特征工程-基于Python的特征自动化选择代码(提供下载)
本文介绍一个特征选择神器:特征选择器是用于减少机器学习数据集的维数的工具,可以傻瓜式地进行特征选择,两行代码即可搞定!! 来源:Will Koehrsen 代码整理及注释翻译:黄海广 代码和数据下载地 ...
最新文章
- ​中国开启开源新纪元
- kazoo源码分析:Zookeeper客户端start概述
- MAC 升级到10.10(OS X Yosemite)下apache+php的配置问题
- linux su无效_如何处理Linux中su命令无反应的情况
- how to prepare reading club
- 最优乘车(Floyd)
- Angular应用里input字段后面的_ngcontent-hqi是什么含义
- [机器学习] 推荐系统之协同过滤算法(转)
- 南开大学计算机科学与技术考研真题,2016年南开大学计算机科学与技术考研考试科目-考研参考书-考研真题.pdf...
- Mysql数据库设计规范之四数据库操作行为规范
- 月结 sap_SAP运行物料账的常见错误
- 用freebsd搭建日志服务器
- HTML:在动态背景登陆界面中加入图片轮播
- miui12怎么自定义开机动画_MIUI12一天的体验,像换新机一样,感知超强!
- [翻译]XNA 3.0 Game Programming Recipes之six
- 关闭Windows Defender Service工具
- Ubuntu 安装及基本配置(显示、镜像源、网络配置)
- 分时均线最佳买点,分时均线操作法(转)
- 墨客IPFS子链技术交流
- 四人小组项目(对项目进行的修改与重写)
热门文章
- Vue项目报错记录解决Property or method “item“ is not defined on the instance
- redis 分布式锁 看门狗_漫谈分布式锁之Redis实现
- todo已完成任务_uTools 插件介绍 | 「todo」!打工人必备
- 批处理bat命令--获取当前盘符和当前目录和上级目录
- cmake / add_compile_options、CMAKE_CXX_FLAGS 和 add_definitions 区别
- 数据结构与算法 / 排序算法 / 堆排序
- push方法java_万字长文深入浅出谈Java数据类型系列之Stack
- 用 php写的条件语句-三种条件语句
- 路飞学城Python-Day9
- 初识python代码