Python与Java之间的相互调用——Jython
概述:
? Jython 是一種可以把兩種不同的編程語(yǔ)言結(jié)合在一起的工具。首先,它使Python 程序員介入到Java 開(kāi)發(fā)環(huán)境并讓他們能快速開(kāi)發(fā)方案原型,以便無(wú)縫地集成到現(xiàn)有的Java 平臺(tái)上。其次,它能在Java 中加入腳本語(yǔ)言,并以此來(lái)簡(jiǎn)化數(shù)計(jì)百萬(wàn)計(jì)的Java 程序員的工作。Java 程序員們,再也不用為他們剛寫(xiě)的一個(gè)類寫(xiě)一大堆的測(cè)試用例或驅(qū)動(dòng)程序。Jython 提供了Python 的大部分功能,以及實(shí)例化Java 類并與Java 類交互的功能。Jython 代碼被動(dòng)態(tài)地編譯成Java 字節(jié)碼,因此,你可以用Jython 擴(kuò)展Java 類。也可以用Java 來(lái)擴(kuò)展Python。在Python 中寫(xiě)一個(gè)類,像使用Java 類一樣使用這個(gè)類是很容易的事情。你甚至可以把Jython 腳本靜態(tài)地編譯為Java 字節(jié)碼。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?——《Python核心編程》
本人環(huán)境:
系統(tǒng):CentOS release 6.5 (Final)
JDK:java version "1.7.0_75"
Python:Python 2.6.6
Jython:2.7-b1
安裝:
jython安裝包地址(jython-installer-2.7-b1.jar):
http://download.csdn.net/detail/u013761665/8590143
安裝步驟:
1.切換工作目錄到下載的jython-installer-2.7-b1.jar所在目錄下(當(dāng)然,如果你使用一些相對(duì)或是絕對(duì)路徑也是可以的);
2.使用java -jar?jython-installer-2.7-b1.jar命令進(jìn)行安裝(此步操作的前提是你的系統(tǒng)中已經(jīng)成功安裝了jdk);
3.進(jìn)入jython安裝目錄,輸入./jython。注意,這里不能使用jython,除非你有配置你的PATH
java代碼編寫(xiě):
package com.w.shell.jar.main;public class Main {public Main() {System.out.println("Hello, Welcome this shell.");}/*** @author Q-WHai* 2015-4-13*/public static void main(String[] args) {new Main();}public static void printLog() {System.out.println("This is a shell log show 2 you. And you will get nothing whit this function return.");}public static String getLog() {String toReturn = "Custom log";System.out.println("This is another shell log show 2 you. And you will get a return String.");return toReturn;} }
jar包制作:
通過(guò)上面的Java代碼操作jar.不過(guò)這里不再對(duì)jar包的操作進(jìn)行過(guò)多地?cái)⑹?#xff0c;因?yàn)樵诒救嗽缙诘牟┛陀性敿?xì)地說(shuō)明(在cmd中使用指令來(lái)執(zhí)行jar包).
jython代碼編寫(xiě):
而對(duì)于jython的代碼則十分簡(jiǎn)單,如下:
import syssys.path += ["/root/study/coding/java/shell.jar"]from com.w.shell.jar.main import MainMain.printLog()result = Main.getLog() print result
運(yùn)行示例:
1.將工作目錄切換至jython的安裝目錄下(當(dāng)然,如果你使用一些相對(duì)或是絕對(duì)路徑也是可以的);
2.運(yùn)行../../splace/jython/jython jython_test.py(即:your_jython_path your_jython.py)
3.運(yùn)行效果:
總結(jié)
以上是生活随笔為你收集整理的Python与Java之间的相互调用——Jython的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 使用Python运算一个字符串表达式
- 下一篇: Python访问MySQL数据库并实现其