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。
                          
                    3)重新運行class文件,在控制檯可以打印出以下字符串:
                              start
                              hello
                              [class所在目錄以及python安裝的一些目錄等]
                              end
                       



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章