반응형
파이썬에서 Java 모듈을 사용해야하는 경우가 있었다.
먼저 jpype를 설치해야한다.
pip install JPype1
예시로 문자열을 바꾸는 자바 클래스를 생성했다.
package com.jpype.utils;
public class JpypeTest{
public static String reverse(String str) {
StringBuffer buf = new StringBuffer();
for(int i=str.length()-1; i>=0; i--) {
buf.append(str.charAt(i));
}
return buf.toString();
}
}
이후 필요한 자바 파일을 jar파일로 만들어주어야한다. (파이썬에서 사용하기 위해서 필수 과정)
jar파일이 생성되면 python workspace 내에 넣어준다.
이후 python 코드에 다음과 같이 작성하면 된다.
import jpype
classpath = "JpypeTest.jar"
jpype.startJVM(
jpype.getDefaultJVMPath(),
"-Djava.class.path={classpath}".format(classpath=classpath),
convertStrings=True,
)
jpkg = jpype.JPackage('com.jpype.utils')
Jpype_Test = jpkg.JpypeTest()
Get_Name = jpkg.OAuthTest()
def reverse_string(s):
return Jpype_Test.reverse(s)
def get_user_name():
return Get_Name.getUserName()
jpype.JPackage 함수를 이용해서 package명을 입력해주고 내부에 있는 클래스를 사용할 수 있다.
Jpype_Test에 있는 reverse 함수를 이용해 함수를 만들어주었다.
실행 결과
print(reverse_string("안녕하세요"))
결과는 다음과 같이 안녕하세요 -> 요세하녕안 으로 잘 사용되는 것을 확인할 수 있다.
반응형
'Python' 카테고리의 다른 글
[Python] 파이썬으로 순열, 조합, 중복 순열 생성하기(itertools library) (0) | 2021.08.11 |
---|---|
[Python] 'cp949' codec can't decode byte 0xec : illegal multibyte sequence (UnicodeDecodeError) (0) | 2021.08.03 |
curl command to python requests (curl 명령어 python request로 변환) (0) | 2021.07.02 |
Python 지정 경로에 폴더가 없으면 생성하는 법 (0) | 2021.06.22 |
Flask를 이용한 웹 서버 구현 (0) | 2021.06.16 |
댓글