jsmubanlogo
  • 首页
  • 网页模板
  • 特效代码
  • 博文源码
  • 插件下载
  •    

java调用python过程中解决python第三方库问题

收藏    

作者第十天    2021-12-06

      

java调用python过程中解决python第三方库问题

Java对于简单python脚本还可以识别运行,但是一旦脚本有import第三方库,Java运行报错no module named 第三方库名。 下面介绍一种调用方式解决上述问题。 python 部分代码:

#encoding:utf-8
import numpy as np
import pandas as pd
import math
import sys
fileurl= sys.argv[1]  # 接收第一个参数
point= sys.argv[2]  # 接收第二个参数
#函数
str=coverpolygon(fileurl,point)
print(str)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

java调用代码:

public static void main(String[] args) throws IOException, InterruptedException {
		String fileurl="D:/route/高程点-350.csv";
		String point="101.89405013,30.02698289,3301;102.14444407,29.56780298,3301;43.1,20.1,6301,1";
		
		//通过原生方式调用,解决python文件引入第三方库的问题
		//第一个参数默认是python,第二个参数python脚本路径,第三和第四个参数是python要接收的参数
        String[] argg = new String[] { "python", "D:/route/cover_change.py", fileurl, point};
		
        Process pr = Runtime.getRuntime().exec(argg);
        
        BufferedReader in = new BufferedReader(new InputStreamReader(pr.getInputStream()));
        String line;
        String result = "";
        //接收返回结果
        while ((line = in.readLine()) != null) {
          result += line;
        }
        System.out.println(result);
        in.close();
        pr.waitFor();
      }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

执行java程序,返回结果截图:
在这里插入图片描述此方式调用解决了python第三方库的问题,但是java程序通过控制台接收python脚本接收返回结果,而不是以python脚本函数的return返回结果。如果python脚本中存在多个print,则返回结果会把所有print一起接收(注意!)。


免责声明:
      1、 资源售价只是赞助,不代表代码或者素材本身价格。收取费用仅维持本站的日常运营所需。
      2、 本站资源来自用户上传,仅供用户学习使用,不得用于商业或者非法用途,违反国家法律一切后果用户自负。用于商业用途,请购买正版授权合法使用。
      3、 本站资源不保证其完整性和安全性,下载后自行检测安全,在使用过程中出现的任何问题均与本站无关,本站不承担任何技术及版权问题,不对任何资源负法律责任。
      4、 如有损害你的权益,请联系275551777@qq.com及时删除。

关于我们 | 积分获取 | 联系我们 | 用户协议 | 标签搜索 | 网站地图.html | 网站地图.xml | 网站地图.txt

Copyright © 2021-2023 All Right Reserved
陕公网安备 61082202000148号      陕ICP备2025078528号-1
js模板网 -陕西千手码农科技有限责任公司