Java調用Python腳本(需要傳參)

      上一篇博客講了不需要Java調用Python腳本不需要傳參的解決辦法,這篇博客主要講一下需要傳參數時如何解決。

1、將寫好的py腳本最好放置在Java工程Resource的根目錄下,方便管理和引用,當然也可以存放在本地;
2、編寫python腳本,名稱爲pythontest.py,假設需要傳遞的參數位於sql語句:
     sql = "select * from 表名稱  where 列名稱 between  '%s' and '%s'" % (sys.argv[1],sys.argv[2]); #查詢列值位於第一個參數                和第二個參數之間的值;
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("open");              
                Process pr = Runtime.getRuntime().exec("python pythontest.py 參數1的值 參數2的值"); 
                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(pr.exitValue());  
        } catch (Exception e){  
                    e.printStackTrace();  
                }  
        }  
}


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