av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

創(chuàng)新互聯(lián)Python教程:java如何調(diào)用python腳本

常見(jiàn)的Java調(diào)用python腳本方式有兩種,下面給大家介紹一下:

成都創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括托克遜網(wǎng)站建設(shè)、托克遜網(wǎng)站制作、托克遜網(wǎng)頁(yè)制作以及托克遜網(wǎng)絡(luò)營(yíng)銷策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,托克遜網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到托克遜省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

·通過(guò)Jython.jar提供的類庫(kù)實(shí)現(xiàn)

·通過(guò)Runtime.getRuntime()開(kāi)啟進(jìn)程來(lái)執(zhí)行腳本文件

python學(xué)習(xí)網(wǎng),大量的免費(fèi)python視頻教程,歡迎在線學(xué)習(xí)!

這兩種方法我都嘗試過(guò),個(gè)人推薦第二種方法,因?yàn)镻ython有時(shí)需要用到第三方庫(kù),比如requests,而Jython不支持。所以本地安裝Python環(huán)境并且安裝第三庫(kù)再用Java調(diào)用是最好的方法。

相關(guān)推薦:《Python基礎(chǔ)教程》

下面通過(guò)兩個(gè)小例子,分別是不帶參數(shù)和帶參數(shù)的,展示如何使用Java調(diào)用Python腳本:

Python代碼:

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

Java代碼:

import java.io.BufferedReader;
import java.io.InputStreamReader;
 
public class HelloPython {
  public static void main(String[] args) {
    String[] arguments = new String[] {"python", "E://workspace/hello.py"};
        try {
            Process process = Runtime.getRuntime().exec(arguments);
            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表示我們調(diào)用python腳本成功,
            //返回值為1表示調(diào)用python腳本失敗,這和我們通常意義上見(jiàn)到的0與1定義正好相反
          int re = process.waitFor();  
          System.out.println(re);
        } catch (Exception e) {
            e.printStackTrace();
        }  
  }
}

其中說(shuō)明一點(diǎn),BufferedReader in = new BufferedReader(new InputStreamReader(process.getInputStream(),"GBK"));這段代碼中的GBK是為了防止Python輸出中文時(shí)亂碼加的。

運(yùn)行結(jié)果:

接下來(lái)是帶參數(shù)的,Python代碼:

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

Java代碼:

import java.io.BufferedReader;
import java.io.InputStreamReader;
 
public class HelloPython {
  public static void main(String[] args) {
    String[] arguments = new String[] {"python", "E://workspace/hello.py","lei","23"};
        try {
            Process process = Runtime.getRuntime().exec(arguments);
            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表示我們調(diào)用python腳本成功,
            //返回值為1表示調(diào)用python腳本失敗,這和我們通常意義上見(jiàn)到的0與1定義正好相反
          int re = process.waitFor();  
          System.out.println(re);
        } catch (Exception e) {
            e.printStackTrace();
        }  
  }
}

運(yùn)行結(jié)果:


當(dāng)前文章:創(chuàng)新互聯(lián)Python教程:java如何調(diào)用python腳本
文章URL:http://uogjgqi.cn/article/cdcpsch.html
掃二維碼與項(xiàng)目經(jīng)理溝通

我們?cè)谖⑿派?4小時(shí)期待你的聲音

解答本文疑問(wèn)/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流