zoukankan      html  css  js  c++  java
  • 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 sys
    
    sys.path += ["/root/study/coding/java/shell.jar"]
    
    from com.w.shell.jar.main import Main
    
    Main.printLog()
    
    result = Main.getLog()
    print result


    运行示例:

    1.将工作目录切换至jython的安装目录下(当然,如果你使用一些相对或是绝对路径也是可以的);

    2.运行../../splace/jython/jython jython_test.py(即:your_jython_path your_jython.py)

    3.运行效果:



  • 相关阅读:
    python-套接字编程之udp
    python-套接字编程之tcp
    用脚本获取windows的mac地址
    电脑控制安卓手机(手机投屏)
    人体内脏分布图
    电子发票打印出来太大了,怎么办?
    局域网内搭建各部门文件共享
    樊登读书会:《善战者说:孙子兵法与取胜法则十二讲》
    健康饮食——百万教程
    减肥十律
  • 原文地址:https://www.cnblogs.com/fengju/p/6336096.html
Copyright © 2011-2022 走看看