본문 바로가기
백엔드/Spring

자바에서 파이썬 파일 실행하기 - processbuilder

by 작은소행성 2021. 11. 10.

 

자바에서 외부에 있는 파이썬 파일을 실행시키고자 한다. 

자바에서 processbuilder를 사용한다.

자바 프로젝트 내부에서 파이썬 모듈을 설치해주어야 한다. 

 

  @RequestMapping(value="pythonbuilder")
    @ResponseBody
    public String pythonProcessbuilder() throws IOException, InterruptedException {
        System.out.println("pythonbuilder ");
        String arg1;
        ProcessBuilder builder;
        BufferedReader br;

        arg1 = "D:/Users/Pycharm/Intellijpy/kor_v01.py";
        builder = new ProcessBuilder("python",arg1); //python3 error

        builder.redirectErrorStream(true);
        Process process = builder.start();

        // 자식 프로세스가 종료될 때까지 기다림
        int exitval = process.waitFor();

        //// 서브 프로세스가 출력하는 내용을 받기 위해
        br = new BufferedReader(new InputStreamReader(process.getInputStream(),"UTF-8"));

        String line;
        while ((line = br.readLine()) != null) {
            System.out.println(">>>  " + line); // 표준출력에 쓴다
        }
        
        if(exitval !=0){
            //비정상종료
            System.out.println("비정상종료");
        }
        
        return "pythonconnet";
    }

 

반응형