首页 > 编程语言 >java调用python脚本,用到tensorflow、keras等第三方库

java调用python脚本,用到tensorflow、keras等第三方库

时间:2023-04-21 09:01:01浏览次数:40  
标签:pr java keras python System println new line out

https://blog.csdn.net/jstlovely/article/details/121247764?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168110434116800227452800%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=168110434116800227452800&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-9-121247764-null-null.142^v82^insert_down38,201^v4^add_ask,239^v2^insert_chatgpt&utm_term=java%E8%B0%83%E7%94%A8Python%20keras&spm=1018.2226.3001.4187

 

 

public static void main(String[] args) {
    // 创建固定大小为2的线程池
    ExecutorService executor = Executors.newFixedThreadPool(2);
    // 提交任务执行
    Callable<Integer> task = new Callable<Integer>(){
        @Override
        public Integer call() throw  Exception {
            //一定要用虚拟环境下的python路径
            String[] args1=new String[]{"D:\\SoftWare\\Anaconda\\envs\\jst\\python.exe","F:\\Python_Project\\test.py"};
            Process pr = Runtime.getRuntime().exec(args1);

            String line;
            BufferedReader stderr = new BufferedReader(new InputStreamReader(pr.getErrorStream(),"GBK"));
            while ((line = stderr.readLine()) != null) {
                System.out.println("stderr:" + line);
            }
            stderr.close();

            BufferedReader stdout = new BufferedReader(new InputStreamReader(pr.getInputStream(),"GBK"));
            while ((line = stdout.readLine()) != null) {
                System.out.println("stdout:" + line);
            }
            stdout.close();

            return pr.waitFor();
        }
    };

    Future<Integer> future = executor.submit(task);
    try{
        int exitVal = pr.waitFor();
        if (0 != exitVal) {
            System.out.println("执行脚本失败");
        }
        System.out.println("执行脚本成功");
    } catch (Exception e){
        System.out.println("执行脚本出现异常:" + e.getMessage());
    }
    finally {
         // 关闭线程池
        executor.shutdown();
    }

 

标签:pr,java,keras,python,System,println,new,line,out
From: https://www.cnblogs.com/wyx-5555/p/17339106.html

相关文章

  • 【Java基础】day16
    day16一、switch-case和if-else谁更快?switch-case在switch-case中,case的值是连续的话,会生成一个TableSwitch来进行优化,这样的情况下,只需要在表中进行判断即可。这里使用0-4的连续值来进行测试如果说多加几个Case的值,但是范围控制在比较小的范围时:这里使用0......
  • Java:谈谈线程池的使用?
    简介线程池是一种利用池化技术思想来实现的线程管理技术,主要是为了复用线程、便利地管理线程和任务、并将线程的创建和任务的执行解耦开来。核心参数1、核心线程数2、最大线程数3、空闲线程最大存活时间4、时间单位5、线程等待队列5、线程工厂......
  • python_面向对象
    魔法函数魔术访达的一些说明23-24魔术方法并不是来自继承,而是python自带的这些方法,跟类没有关系__getitem__方法因为实现了__getitem__(),所以可以直接遍历这个student对象__getitem__方法的参数item就是相当于数组的下标13行对象实例化对象进行切片操作......
  • 【进阶15】【自学笔记】Python运行cmd命令的几种方式
    一、pathlib的简单介绍pathlib是Python3.4及更高版本中内置的标准库,提供了一种面向对象的方式来处理文件系统路径。它为不同操作系统提供了合适的路径语义,并支持常见的文件和目录操作,比如判断路径是否存在、获取路径的各个部分、创建/删除目录等操作。二、基本操作1、获取......
  • Python 判断服务端口是否被占用脚本
    背景自动注册服务时判断端口是否被占用代码详情importsocketdefcheck_port(address,port):#创建套接字对象sock=socket.socket(socket.AF_INET,socket.SOCK_STREAM)#检查端口是否占用result=sock.connect_ex((address,port))#关闭套接字......
  • JavaScript学习
    JS中的注释学习一个语言,先学习一个语言的注释,因为注释是给我们自己看的,也是给开发人员看的写好一个注释,有利于我们以后阅读代码5-1单行注释一般就是用来描述下面一行代码的作用可以直接写两个/,也可以按ctrl+///我是一个单行注释//下面代码表示在浏览器里面出现一个弹出......
  • JavaScript学习笔记
    SassSASS官网世界上最成熟、最稳定、最强大的专业级CSS扩展语言!sass是一个css的预编译工具也就是能够更优雅的书写csssass写出来的东西浏览器不认识依旧是要转换成css在浏览器中运行变量定义一个变量,在后面的代码中使用使用$来定义变量//定义一个$c作为变量,值是红......
  • 【进阶14】【自学笔记】Python运行cmd命令的几种方式
    1、使用os.system()函数importos#运行cmd命令os.system('dir')2、使用subprocess模块importsubprocess#运行cmd命令subprocess.run(['dir'],shell=True)3、使用os.popen()函数importos#运行cmd命令result=os.popen('dir')print(result.read......
  • JAVA访问修饰符与关键字
    访问修饰符定义:Java中,可以使用访问修饰符来保护对类、变量、方法和构造方法的访问。Java支持4种不同的访问权限。分类:private:在同一类内可见。使用对象:变量、方法。注意:不能修饰类(外部类)default(即缺省,什么也不写):在同一包内可见,不使用任何修饰符。使用对象:类......
  • Java Long对象对比,用equals函数
    文章目录一、前文二、调试三、后记一、前文同事问我一个问题,我咋一看也愣住了代码:if(ObjectUtil.isNotNull(temp.getUserId())&&temp.getUserId()!=SecurityUtils.getUserId()){logger.error(temp.toString());logger.error("SecurityUtils.getUserId()="+Secur......