자바 에서 Python 프로그램 을 어떻게 호출 하 는 지 상세 하 게 설명 합 니 다.

4481 단어 Java호출Python
자바 에서 Python 프로그램 호출
1.Maven 프로젝트 를 새로 만 들 고 다음 의존 도 를 가 져 옵 니 다.

<dependency>
    <groupId>org.python</groupId>
    <artifactId>jython-standalone</artifactId>
    <version>2.7.0</version>
</dependency>
2.자바 에서 python 코드 세 션 직접 실행

import org.python.util.PythonInterpreter;

public class InvokePython {

    public static void main(String[] args) {
        PythonInterpreter pythonInterpreter = new PythonInterpreter();
        pythonInterpreter.exec("a='aaa'");
        pythonInterpreter.exec("print(a)");
//        pythonInterpreter.exec("import pandas as pd");
    }
}
위 와 같은 방식 으로 python 코드 세 션 을 실행 합 니 다.사실은 Jpython 을 통 해 이 루어 집 니 다.이런 방식 으로 실행 할 수 있 는 python 코드 세 션 은 비교적 제한 되 어 있 습 니 다.모두 가장 원시 적 인 python 명령 입 니 다.많은 가방 을 사용 할 수 없습니다.예 를 들 어 실행pythonInterpreter.exec("import pandas as pd");이 잘못 되 었 습 니 다.그래서 이런 방식 은 추천 하지 않 아 요.
3.Python Interpreter 클래스 의 execfile()방법 으로 python 스 크 립 트 파일 을 실행 합 니 다.

import org.python.util.PythonInterpreter;

public class InvokePython {

    public static void main(String[] args) {
        PythonInterpreter pythonInterpreter = new PythonInterpreter();
        pythonInterpreter.execfile("F:\\  \\  \\   \\         \\   \\  API.py");
    }
}
이런 방식 은 위의 그런 방식 의 본질 과 같 고 실행 할 수 있 는 명령 도 매우 원시 적 이 며 일반적으로 추천 하지 않 는 다.
4.Runtime.getRuntime().exec()방법 으로 python 스 크 립 트 실행
원본 python 스 크 립 트

import requests
import json
import sys

def chat_by_Turing(question):
    url = "http://www.tuling123.com/openapi/api?key=49de46c409c047d19b2ed2285e8775a6&info="
    response = requests.get(url+question)
    result = json.loads(response.text)
    answer = result['text']
    print("  :",answer)

question = sys.argv[1] ##               
chat_by_Turing(question)
Runtime.getRuntime().exec()호출

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;

public class RuntimeFunction {
    public static void main(String[] args) {
        Process proc;
        String compiler = "E:\\Anaconda\\Anaconda_install\\python.exe";
//        String program = "F:\\  \\  \\   \\         \\   \\  API.py";
        String rootPath = "F:\\  \\  \\   \\    \\  \\Python\\src\\main\\resources\\";
        String program = "  API.py";
        try {
            Scanner in = new Scanner(System.in);
            System.out.print(" :");
            String question = in.nextLine();
            String commond = compiler+" "+rootPath+program+" "+question;
            proc = Runtime.getRuntime().exec(commond);
            BufferedReader reader = new BufferedReader(new InputStreamReader(proc.getInputStream(),"GBK"));
            String line = null;
            while ((line = reader.readLine()) != null) {
                System.out.println(line);
            }
            in.close();
            proc.waitFor();

        } catch (IOException e) {
            e.printStackTrace();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
}
Runtime.getRuntime().exec()는 문자열 형식의 인자command,전체 구문 Runtime.getRuntime().exec(command)를 입력 해 야 합 니 다.이 문 구 는 자신의 컴퓨터 에 있 는 cmd 를 통 해 실 행 된 python 프로그램 파일 입 니 다.따라서 command 의 구성 은 다음 과 같 습 니 다.
python 해석 기+"+python 프로그램 파일 의 절대 경로+"+python 프로그램 파일 에 들 어 갈 인자
command 의 빈 칸 이 없어 서 는 안 됩 니 다.python 스 크 립 트 에 서 는 sys.argv 를 통 해 인 자 를 받 아야 합 니 다.
이러한 방식 으로 python 프로그램 을 실행 하 는 것 은 앞에서 사용 한 python 컴 파일 러 에 달 려 있 습 니 다.컴 파일 러 환경 에 있 으 면 반드시 이런 방식 으로 호출 할 수 있 습 니 다.이런 방식 은 비교적 강하 기 때문에 이런 방식 으로 python 프로그램 을 실행 하 는 것 을 추천 합 니 다.
참조 링크
자바 에서 파 이 썬 프로그램 을 어떻게 호출 하 는 지 에 대한 자세 한 설명 은 여기까지 입 니 다.더 많은 자바 에서 파 이 썬 프로그램 을 호출 하 는 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 응원 바 랍 니 다!

좋은 웹페이지 즐겨찾기