在Java程序中有时需要调用Python的程序,这时可以使用一般的PyFunction来调用python的函数并获得返回值,但是采用这种方法有可能出现一些莫名其妙的错误,比如ImportError。在这种情况下可以采用另一种方法:使用Java的Runtime,像在命令行直接调用python脚本那样调用python程序。此时可以通过文件作为脚本参数来传递Python程序所需要的参数,并从脚本的输入输出流来获取本来该打印在控制台的结果。

先准备好一个python文件:

def get_path(filename):

y_t = np.loadtxt(filename)

peolpex = int(y_t[0][0])

peolpey = int(y_t[0][1])

firex = int(y_t[1][0])

firey = int(y_t[1][1])

answer = getQ(peolpex, peolpey, firex, firey)

return answer

if __name__ == "__main__":

filename = sys.argv[1]

# print(filename)

# root = Tk()

# canvas = Canvas(root, bg="white")

# canvas.pack()

# colors = ['red', 'orange', 'green', 'black','yellow','white','pink']

result = get_path(filename)

# with open(filename, 'w') as f:

# f.write(result)

print result

对应的Java程序如下:

String result = "";

try {

Process process = Runtime.getRuntime().exec("python /home/jia/fireevacuation/my.py " + filename);

// process.waitFor();

InputStreamReader ir = new InputStreamReader(process.getInputStream());

LineNumberReader input = new LineNumberReader(ir);

result = input.readLine();

input.close();

ir.close();

// process.waitFor();

} catch (IOException e) {

logger.error("调用python脚本并读取结果时出错:" + e.getMessage());

}

return result;

(转)java调用python脚本

这篇博客旨在吐血分享今天遇到的java调用python脚本遇到的坑,折腾了3个多小时终于可以跑通了,代码超级短,但网上的好多资料都是抄来抄去的,很少有能够直接跑通的,尤其是针对你的python文件中用 ...

通过Java调用Python脚本

在进行开发的过程中,偶尔会遇到需要使用Java调用Python脚本的时候,毕竟Python在诸如爬虫,以及科学计算等方面具有天然的优势.最近在工作中遇到需要在Java程序中调用已经写好的Python程 ...

java调用python脚本并向python脚本传递参数

1.安装Eclipse 先安装jdk,再安装Eclipse,成功后开始建立py_java项目,在这个项目的存储目录SRC下建立test包,在test包中New-Class,新建MyDemo类,建好完成 ...

自己遇到的ajax调用ashx文件无法获取返回值的一种情况

无法获取返回值的ashx文件大致如下: public void ProcessRequest (HttpContext context) { context.Response.ContentType ...

[Java/Python] java调用python脚本问题记录

Java调用Python的的两种方式 1.Runtime private static String call_python(String input_argv) { String python_py ...

Java调用Python脚本

今天遇到Java调用一个Python脚本的问题,纠结了大半天,遇到各种问题.网上搜索的大部分都是用jython,但是我想要调用的python脚本里有import urllib,这个urllib也不是什 ...

java 调用 python 脚本

有时候在java项目里,需要执行Python脚本以下几种方式: 1.直接执行Python脚本代码 引用 org.python包 创建一个 python解释器,貌似这种方式不可以导入第三方库,模块... ...

Java调用Python脚本工具类

[本文出自天外归云的博客园] 在网上查了很多方法都不成功,在google上搜到一篇文章,做了一些小修改,能够处理中文输出.提取一个运行python脚本的Java工具类如下: package com.a ...

微信小程序前端调用后台方法并获取返回值

wxml代码

python 调用控制台并获取返回结果_Java调用Python脚本并获取返回值相关推荐

  1. java 微信获取用户地理位置_Java微信公众平台之获取地理位置

    本部分需要用到微信的JS-SDK,微信JS-SDK是微信公众平台面向网页开发者提供的基于微信内的网页开发工具包. 通过使用微信JS-SDK,网页开发者可借助微信高效地使用拍照.选图.语音.位置等手机系 ...

  2. linux 获取网站预览图,Shell脚本实现获取网页快照并生成缩略图 -电脑资料

    这篇文章主要介绍了Shell脚本实现获取网页快照并生成缩略图,本文获取网页快照使用phantomjs.生成缩略图使用ImageMagick,需要的朋友可以参考下 获取网页快照并生成缩略图可分两步进行: ...

  3. java cmd 返回结果_Java调用cmd命令行并返回执行结果

    命令提示符是在操作系统中,提示进行命令输入的一种工作提示符.在windows环境下,命令行程序为cmd.exe,是一个32位的命令行程序,微软Windows系统基于Windows上的命令解释程序,类似 ...

  4. Java调用MySQL并返回数据_Java调用MySQL存储过程并获得返回值的方法

    本文实例讲述了Java调用MysqL存储过程并获得返回值的方法.分享给大家供大家参考.具体如下: private void empsInDept(Connection myConnect,int de ...

  5. java 请求url 返回数据_java后台发起get请求获取响应数据|chu

    本文实例为大家分享了java后台发起get请求获取响应数据,供大家参考,具体内容如下 学习记录: 话不多说直接上代码: package com.jl.chromeTest; import java.i ...

  6. charat越界返回什么_Java基本语法方法修饰符返回类型参数列表异常列表

    方法[method name] 定义 方法[method]是类的成员之一,(因为在java中,方法不能单独定义,它必须在类之中). 修饰符 返回类型 方法名()[throws 异常类型]{ //方法体 ...

  7. java servlet 获取路径问题_Java,JSP,Servlet获取当前工程路径(绝对路径)问题解析...

    在jsp和class文件中调用的相对路径不同. 在jsp里,根目录是webroot 在class文件中,根目录是webroot/web-inf/classes 当然你也可以用system.getpro ...

  8. java调用数据库存储过程的接口是_JAVA调用数据库存储过程

    JAVA调用数据库存储过程 2014/11/6 18:20:14  可怜的猫  程序员俱乐部  我要评论(0) 摘要:packagecom.ljq.test;importjava.sql.Connec ...

  9. cxf调用接口的几种方式_Java调用CXF WebService接口的两种方式实例

    1.静态调用 // 创建WebService客户端代理工厂 JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean(); // 判断是否抛出 ...

最新文章

  1. 深入浅出卷积神经网络及实现!
  2. 剖析 Laravel 计划任务--事件属性
  3. arduinowin7_Arduino在64位WIN7下无法安装驱动的解决办法
  4. Python中将数据矢量化运算所带来的时间加快
  5. 基于Springboot实现仿百度网盘开发
  6. stm32 窗口看门狗学习(一)
  7. python api是什么_python – 如何处理API响应
  8. 微课|中学生可以这样学Python(2.3.3节):内置函数sorted()
  9. 【实践】网易云音乐推荐中用户行为序列深度建模.pdf(附下载链接)
  10. 提取tsv数据并转化成json——致找不出怎么提取tsv文件中数据的五小时
  11. linux老版firefox支持mime,video format or mime type is not supported , mac , firefox
  12. oracle11g Rac Bond,Oracle11g搭建RAC步骤..doc
  13. 计量广义差分操作过程_一分钟看完计量经济学
  14. 80004005错误代码_Win10系统提示0x80004005错误代码快速解决方法
  15. U盘格式化后容量变小
  16. 【一坨理论AC的题】Orz sxy大佬
  17. 【原创】十年可以做什么?
  18. 不要再说Qt教程少了
  19. java之jdk14安装和环境设置以及eclipse创建工程出现红叉
  20. cesium 街景 vs 三维视图 显卡 知识点.txt

热门文章

  1. matlab 增加图像对比度_计算机视觉学习笔记6 图像直方图与直方图均衡化
  2. 绘制商务感十足的折线图和面积图
  3. 张俊红21岁的年度总结
  4. SAP 电商云 Spartacus UI 的交货模式 Delivery Mode 设计
  5. SAP UI5 应用开发教程之六 - 了解 SAP UI5 的模块(Module)概念
  6. SAP Spartacus OccEndpointsService调用getBaseEndpoint的一些场景
  7. git@github.com - Permission denied publickey错误
  8. 微信开发系列之二 - 在微信公众号里开发一个自动应答的图灵机器人
  9. SAP Cloud for Customer里的HTML Mashup的JavaScript编程功能
  10. what is conversion exit defined in ABAP domain