Python与Java之间的相互调用——Jython
概述:
? Jython 是一種可以把兩種不同的編程語言結合在一起的工具。首先,它使Python 程序員介入到Java 開發環境并讓他們能快速開發方案原型,以便無縫地集成到現有的Java 平臺上。其次,它能在Java 中加入腳本語言,并以此來簡化數計百萬計的Java 程序員的工作。Java 程序員們,再也不用為他們剛寫的一個類寫一大堆的測試用例或驅動程序。Jython 提供了Python 的大部分功能,以及實例化Java 類并與Java 類交互的功能。Jython 代碼被動態地編譯成Java 字節碼,因此,你可以用Jython 擴展Java 類。也可以用Java 來擴展Python。在Python 中寫一個類,像使用Java 類一樣使用這個類是很容易的事情。你甚至可以把Jython 腳本靜態地編譯為Java 字節碼。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?——《Python核心編程》
本人環境:
系統: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所在目錄下(當然,如果你使用一些相對或是絕對路徑也是可以的);
2.使用java -jar?jython-installer-2.7-b1.jar命令進行安裝(此步操作的前提是你的系統中已經成功安裝了jdk);
3.進入jython安裝目錄,輸入./jython。注意,這里不能使用jython,除非你有配置你的PATH
java代碼編寫:
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包制作:
通過上面的Java代碼操作jar.不過這里不再對jar包的操作進行過多地敘述,因為在本人早期的博客有詳細地說明(在cmd中使用指令來執行jar包).
jython代碼編寫:
而對于jython的代碼則十分簡單,如下:
import syssys.path += ["/root/study/coding/java/shell.jar"]from com.w.shell.jar.main import MainMain.printLog()result = Main.getLog() print result
運行示例:
1.將工作目錄切換至jython的安裝目錄下(當然,如果你使用一些相對或是絕對路徑也是可以的);
2.運行../../splace/jython/jython jython_test.py(即:your_jython_path your_jython.py)
3.運行效果:
總結
以上是生活随笔為你收集整理的Python与Java之间的相互调用——Jython的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用Python运算一个字符串表达式
- 下一篇: Python的捕虫笔记