>  기사  >  백엔드 개발  >  Java에서 Python 메소드 호출

Java에서 Python 메소드 호출

巴扎黑
巴扎黑원래의
2016-12-07 10:35:163718검색

1. Java 클래스

view plain
import javax.script.*
import org.python.util.PythonInterpreter; .*;
import static java.lang.System.*;

public class FirstJavaScript
{
public static void main(String args[])
{
PythonInterpreter interpreter = new PythonInterpreter();
interpreter.exec("days=('mod','Tue','Wed','Thu','Fri','Sat','Sun'); ");
interpreter.exec("print days[1];");
}//main
}

이렇게 얻은 결과는 Tue이며 콘솔에 표시됩니다. 바로 전화가 걸려온 것입니다.

2. Java의 기본 Python 스크립트에서 함수를 호출합니다.
먼저 my_utils.py라는 이름의 Python 스크립트를 만듭니다.

view plain
def adder(a , b) :
return a + b

그런 다음 테스트용 Java 클래스를 만듭니다.

java 클래스 코드 FirstJavaScript:

일반 보기
import javax.script.* ;
import org.python.core.PyFunction;
import org.python.core.PyObject; 🎜> import java.io.*;
import static java.lang.System.*;
{
PythonInterpreter 인터프리터 = new PythonInterpreter()
interpreter.execfile("C: \Python27\programs\my_utils.py");//경로, 스크립트 이름
PyFunction func = (PyFunction)interpreter.get("adder",PyFunction.class);//adder Python 함수 이름
int a = 2010, b = 2;
PyObject pyobj = func.__call__(new PyInteger(a) , new PyInteger(b));//값 전달, a b
System.out.println("anwser = " + pyobj.toString());
}//main
}

얻은 결과는 다음과 같습니다. anwser = 2012

3. java를 사용하여 Python 스크립트를 직접 실행합니다. 🎜>inputpy 스크립트 만들기

일반 보기
#파일 열기

print 'hello'
number=[3,5,2,0,6]
print 숫자
number.sort()
숫자 인쇄
number.append(0)
숫자 인쇄
숫자 인쇄.count(0)
숫자 인쇄.index(5)

Java 클래스를 만들고 다음 스크립트를 호출합니다.

view plain
import javax .script.*
import org.python.core.PyFunction
import org.python; .core.PyInteger;
import org.python.core.PyObject;
import org.python.util .PythonInterpreter;
import java.io.*; *;

public class FirstJavaScript ])
{
PythonInterpreter 인터프리터 = new PythonInterpreter()
interpreter.execfile("C:\Python27\programs\input.py")
}//main
}

결과는 다음과 같습니다.

view plain
hello
[3, 5, 2, 0, 6]
[ 0, 2, 3, 5, 6]
[0, 2, 3, 5, 6, 0]
2
3

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.