Java调用Python脚本(不需要传参)

 java 利用Runtime.getRuntime().exec()调用python脚本
1、将写好的py脚本放置在Java工程的根目录下,方便管理和引用,当然也可以存放在本地;
2、编写python脚本,以最经典常见的代码为例:
      import sys  
       import urllib  
       print  "hello"      #打印“hello”
       print  sys.path   #打印python的安装路径
3、编写class文件,代码如下:
      package python;
        import java.io.BufferedReader;    
        import java.io.InputStreamReader;

        public class test {
           public static void main(String[] args){  
        try{  
                System.out.println("start");  //控制台打印"start"
                 Process pr = Runtime.getRuntime().exec("python jtpython.py"); //此行代码为核心,调用py脚本
                                BufferedReader in = new BufferedReader(new  
                        InputStreamReader(pr.getInputStream()));  
                String line;  
                while ((line = in.readLine()) != null) {  
                    System.out.println(line);  
                }  
                in.close();  
                pr.waitFor();  
                System.out.println("end");   //控制台打印"end"
           } catch (Exception e){  
                    e.printStackTrace();  
                }  
        }  
}
4、测试
      一般地,完成前三步即可成功实现 java 调用python脚本,但是 有时候会显示以下错误:
     open java.io.IOException: Cannot run program "python": CreateProcess error=2, 系统找不到指定的文件。at          java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)at java.lang.Runtime.exec(Runtime.java:620)  at java.lang.Runtime.exec(Runtime.java:450)at java.lang.Runtime.exec(Runtime.java:347) at python.test.main(test.java:13) Caused by: java.io.IOException: CreateProcess error=2, 系统找不到指定的文件。at java.lang.ProcessImpl.create(Native Method)at java.lang.ProcessImpl.<init>(ProcessImpl.java:386)at java.lang.ProcessImpl.start(ProcessImpl.java:137)at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)... 4 more
     解决方法:配置Run Configuration中的Enviroment,增加PATH变量,请注意:名字必须是PATH!!!
     具体步骤:1)Run-Run Configurations...-Environment-New,Name设置为:PATH,Value设置为:python的安装路 径,例如:D:\Program\python27
                    2)点击ok,在“Append    environment to native environment ”前打勾,点击Apply,然后Close。
                          Java调用Python脚本(不需要传参)
                    3)重新运行class文件,在控制台可以打印出以下字符串:
                              start
                              hello
                              [class所在目录以及python安装的一些目录等]
                              end