美文网首页
java调用python脚本包含第三方包

java调用python脚本包含第三方包

作者: 曦宝 | 来源:发表于2018-09-12 11:02 被阅读111次

    公司代码都用java编写,但是我做机器学习离不开python,而且还包含第三方包sklearn。现在再搞tensorflow,在老公的唐僧念之下,跑通了,分享一下代码。

    public void java2python() throws Exception{
    //      python解析器的路径
            String s1 = "D:\\ProgramData\\Anaconda3\\envs\\tensorflow\\python";
    //      要执行的python脚本
            String s2 = "D:\\pythonworkspace\\DeepLearning\\temp.py";
    //      传入python脚本的参数
            String s3 = 3+"";
            String s4 = 4+"";
            String[] arguments = new String[] {s1, s2, s3, s4};
            Process process = Runtime.getRuntime().exec(arguments);
            BufferedReader in = new BufferedReader(new InputStreamReader(process.getInputStream()));
            String line;
            String result = "";
    //        python里的运行结果,想传给java,就需要用这种readline的形式了。
            while ((line = in.readLine()) != null) {
                result += line;
                System.out.println(line);
            }
            in.close();
    //        System.out.println(result);
        }
    

    python部分的代码很简单,就是tensorflow的一个helloword

    # -*- coding: utf-8 -*-
    
    
    import tensorflow as tf
    
    hello = tf.constant("Hello!TensorFlow")
    test = tf.constant("bye")
    sess = tf.Session()
    print(sess.run(hello))
    print(sess.run(test))
    
    # 下面没用,只是为了尝试java调python时传参用的
    import sys
    
    a = sys.argv[1]  # 接收第一个参数
    b = sys.argv[2]  # 接收第二个参数
    
    print(int(a) + int(b))
    

    相关文章

      网友评论

          本文标题:java调用python脚本包含第三方包

          本文链接:https://www.haomeiwen.com/subject/tcxvgftx.html