zoukankan      html  css  js  c++  java
  • java中怎么调用python 脚本

    调用方法:

    import java.io.BufferedReader;
    import java.io.InputStreamReader;
    
    public class PythonInvoke {
        public static void invokePy(String[] args) {
    
            try {
                Process process = Runtime.getRuntime().exec(args);
                //防止Python输出中文时乱码
                BufferedReader in = new BufferedReader(new InputStreamReader(process.getInputStream(),"GBK"));
                String line = null;
                while ((line = in.readLine()) != null) {
                    System.out.println(line);
                }
                in.close();
                //java代码中的process.waitFor()返回值为0表示我们调用python脚本成功,
                //返回值为1表示调用python脚本失败,这和我们通常意义上见到的0与1定义正好相反
                int re = process.waitFor();
                System.out.println(re);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }

    测试 Test():

    import com.cargosmart.alarm.utils.PythonInvoke;
    
    public class Test {
    
        public static void main(String[] args) {
            String []para  = new String[] {"python", "D://hello.py"};
            PythonInvoke.invokePy(para);
    
            System.out.println("-----有参------");
            String[] arguments = new String[] {"python", "D://hello1.py","lei","23"};
            PythonInvoke.invokePy(arguments);
         
        }
    
    }

    python文件

      hello.py

    def hello():
        print('Hello,Python')
     
    if __name__ == '__main__':
        hello()

     hello1.py

    import sys
     
    def hello(name,age):
        print('name:'+name)
        print('age:'+age)
     
    if __name__ == '__main__':
        hello(sys.argv[1], sys.argv[2])

    控制台结果:

    Hello,Python
    0
    -----有参------
    name:lei
    age:23
    0
  • 相关阅读:
    一个经典的页面布局
    巧避new的一个原型设计模式
    讲解关于javascript的继承
    根据指定日期 算出该周的一周日期
    原型实现的一个观察者模式
    减少类之间的耦合性
    Android 代码下载
    (转)open gl 实例 demo vs2005 环境
    Tile editor 快捷键
    这是第一篇博客~
  • 原文地址:https://www.cnblogs.com/JonaLin/p/12091259.html
Copyright © 2011-2022 走看看