java调用python并传参

import sys
def main(a):
    print(url)
    print(sys.argv)
    print(len(sys.argv))
if __name__ == '__main__':
    for i in range(1, len(sys.argv)):
        url = sys.argv[i]
        main(url)

java代码

package python;
import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;

import org.python.antlr.PythonParser.test_return;
import org.python.util.PythonInterpreter;

import jnr.ffi.Struct.int16_t;

public class java_python {
	

	 public static void main(String[] args) {

         Scanner input = new Scanner(System.in);
         System.out.println("请输入需要传递给python的参数");
         String url = input.nextLine();
         String a = "jia";
//         System.out.println(integers);
//         String url="http://blog.csdn.net/thorny_v/article/details/61417386";
         String[] cmds = new String[]{"python", "C:\\Users\\张家豪\\Desktop\\test.py",url,a};
//         System.out.println(cmds);
         System.out.println("调用python程序");
         Process pcs;
         try {
             pcs = Runtime.getRuntime().exec(cmds);
             pcs.waitFor();
             // 定义Python脚本的返回值
             String result = null;
             // 获取CMD的返回流
             BufferedInputStream in = new BufferedInputStream(pcs.getInputStream());
             // 字符流转换字节流
             BufferedReader br = new BufferedReader(new InputStreamReader(in));
             // 这里也可以输出文本日志
             String lineStr = null;
//             System.out.println(br.readLine());
             while ((lineStr = br.readLine()) != null) {
                 result = lineStr;
//                 System.out.println(br.readLine());
                 System.out.println(result);
             }
//
             // 关闭输入流
             br.close();
             in.close();


         } catch (IOException | InterruptedException e) {
             // TODO Auto-generated catch block
             e.printStackTrace();
         }



 }

}

 

 

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

无情的阅读机器

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值