Python 은 pyjnius 라 이브 러 리 를 기반 으로 자바 류 에 접근 합 니 다.
Pyjnius 는 자바 류 를 방문 하 는 Python 라 이브 러 리 입 니 다.
적용 장면:극히 개별적 인 암호 화 알고리즘 등 내용 은 python 으로 실현 하기 불편 하거나 실현 하 는 데 시간 이 걸 리 며 Pyjnius 를 바탕 으로 자바 류 를 python 라 이브 러 리 로 사용 할 수 있 습 니 다.
문서:http://pyjnius.readthedocs.io/en/latest/installation.html
다운로드 주소:https://pypi.python.org/pypi?%3Aaction=search&term=jnius&submit=search
jnius 버 전 관리 가 혼 란 스 러 우 니 주의 하 세 요.현재 로 서 는 jniusx 를 선택 하 는 것 이 좋 습 니 다.
git 주소:https://github.com/kivy/pyjnius/blob/master/docs/source/index.rst
설치 하 다.
먼저 자바 JDK 와 JRE,Cython 을 설치 합 니 다.
#
pip3 install cython
# pip3 install jniusx
Collecting jniusx
Downloading jniusx - 1.0.5. tar.gz
Requirement already satisfied: six >=
1.7.0 in /opt/python
3.5 / lib / python3.5 / site - packages(
from jniusx)
Requirement already satisfied: cython in
/opt/python
3.5 / lib / python3.5 / site - packages(
from jniusx)
Installing collected packages: jniusx
Running setup.py install
for jniusx...done
Successfully installed jniusx - 1.0.5
주의:jnius 에 설 치 된 구덩이 가 비교적 많 습 니 다.참고 하 세 요.http://stackoverflow.com/search?q=jniusImportError 가 발생 하면 자바 환경 변수 나 path 가 설정 되 어 있 지 않 습 니 다.
jnius/jnius.c:4:20:fatal error:Python.h 는 일반적으로 python-dev,yum-y install python-devel 이 부족 합 니 다.
pip 설치 가 성공 하지 못 했 습 니 다.setup.py 방식 을 시도 할 수 있 습 니 다.
jnius/jnius.c:No such file or directory 는 원래 저 장 된 clone 을 이용 해 야 합 니 다.
쾌속 입문
hello world 실례:
#!/usr/bin/env python
#- * -coding: utf - 8 - * -
#jnius_quick2.py
# Author Rongzhong Xu 2016 - 08 - 02 wechat:
pythontesting
# https: //bitbucket.org/china-testing/python-chinese-library/src
""
"
jnius demo
Tested in python2.7
""
"
from jnius
import autoclass
System = autoclass('java.lang.System')
System.out.println('Hello World')
스 택 인 스 턴 스:
#!/usr/bin/env python
#- * -coding: utf - 8 - * -
#jnius_quick1.py
# Author Rongzhong Xu 2016 - 08 - 02 wechat:
pythontesting
# https: //bitbucket.org/china-testing/python-chinese-library/src
""
"
jnius demo
Tested in python2.7
""
"
from jnius
import autoclass
Stack = autoclass('java.util.Stack')
stack = Stack()
stack.push('hello')
stack.push('world')
print(stack.pop())# -- > 'world'
print(stack.pop())# -- > 'hello'
자바 String 의 hashCode 호출
#!/usr/bin/env python
#- * -coding: utf - 8 - * -
#jnius_quick3.py
# Author Rongzhong Xu 2016 - 08 - 02 wechat:
pythontesting
# https: //bitbucket.org/china-testing/python-chinese-library/src
""
"
jnius demo: Call java String 's hashCode
Tested in python2.7
""
"
from jnius
import autoclass
String = autoclass('java.lang.String')
print(String("hello").hashCode())
jar 패키지 호출
#!python
#
vi com / sample / Beach.java
package com.sample;
public class Beach {
private String name;
private String city;
public Beach(String name, String city) {
this.name = name;
this.city = city;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
}
#
echo Main - Class: Beach > manifest.txt
# jar cvfm Test.jar manifest.txt com /
sample /*.class*/
테스트:
#!python
#
ipython
Python 3.5.2(
default, Nov 7 2016, 18: 53: 51)
Type "copyright", "credits"
or "license"
for more information.
IPython 5.1.0--An enhanced Interactive Python
.
? - > Introduction and overview of IPython
's features.
% quickref - > Quick reference.
help - > Python 's own help system.
object ? - > Details about 'object',
use 'object??'
for extra details.
In[2]: # jar CLASSPATH 。
In[3]: from jnius
import autoclass
In[4]: Bla = autoclass(
'com.sample.Beach')
In[5]: s = Bla("Tom", "Shenzhen")
In[6]: s.getName()
Out[6]: 'Tom'
``
`
python :
* : com cn org
* echo Main-Class: AESUtil >manifest.txt
* jar cvfm Test.jar manifest.txt *
:
`
``
python
# - * -coding: utf - 8 - * -
# jar CLASSPATH 。
from jnius
import autoclass
AESUtil = autoclass(
'com.oppo.sso.util.AESUtil')
email = AESUtil.aesEncrypt(
"[email protected]", " ")
print(email)# !python
# ipython
Python 3.5.2(
default, Nov 7 2016, 18: 53: 51)
Type "copyright", "credits"
or "license"
for more information.
IPython 5.1.0--An enhanced Interactive Python
.
? - > Introduction and overview of IPython
's features.
% quickref - > Quick reference.
help - > Python 's own help system.
object ? - > Details about 'object',
use 'object??'
for extra details.
In[2]: # jar CLASSPATH 。
In[3]: from jnius
import autoclass
In[4]: Bla = autoclass(
'com.sample.Beach')
In[5]: s = Bla("Tom", "Shenzhen")
In[6]: s.getName()
Out[6]: 'Tom'
``
`
python :
* : com cn org
* echo Main-Class: AESUtil >manifest.txt
* jar cvfm Test.jar manifest.txt *
:
`
``
python
# - * -coding: utf - 8 - * -
# jar CLASSPATH 。
from jnius
import autoclass
AESUtil = autoclass(
'com.oppo.sso.util.AESUtil')
email = AESUtil.aesEncrypt(
"[email protected]", " ")
print(email)
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.