JAVA中調(diào)用python語(yǔ)句

java中調(diào)用python語(yǔ)句

參數(shù)說(shuō)明:

command:python文件路徑
num1,num2:傳入.py的參數(shù),可自由增添。需要在String[] cmdArr = new String[] {exe,command,num1,num2};中進(jìn)行相應(yīng)增改

代碼:

java部分
package test1;
import java.io.*;
public class test1 {
    public static void main(String[] args) throws IOException,InterruptedException {
        String exe = "python";
        String command = "D:\\add.py";
        String num1 = "1";
        String num2 = "2";
        String[] cmdArr = new String[] {exe,command,num1,num2};
        Process process = Runtime.getRuntime().exec(cmdArr);
        InputStream is = process.getInputStream();
        BufferedReader dis = new BufferedReader(new InputStreamReader(is));
        String str = dis.readLine();
        process.waitFor();
        System.out.println(str);
    }
    }
測(cè)試用的.py文件
# coding=utf-8
from sys import argv
num1 = argv[1]
num2 = argv[2]
sum = int(num1) + int(num2)
print(sum)

運(yùn)行效果:

圖片.png

其他備注:

1.BufferedReader dis = new BufferedReader(new InputStreamReader(is)); String str = dis.readLine();是jdk1.1以上的寫(xiě)法。1.1以下參考https://bbs.csdn.net/topics/340000334

2.備選項(xiàng)是jython,jython不支持python3及大部分科學(xué)計(jì)算類包

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容