1、http://sourceforge.net/projects/jython/下载jython包,把其中的jython.jar添加到工程目录

示例:

1、摘自:http://blog.csdn.net/anbo724/article/details/6608632

1.在java类中直接执行python语句

view plain
  1. importjavax.script.*;
  2. importorg.python.util.PythonInterpreter;
  3. importjava.io.*;
  4. importstaticjava.lang.System.*;
  5. publicclassFirstJavaScript
  6. {
  7. publicstaticvoidmain(Stringargs[])
  8. {
  9. PythonInterpreterinterpreter=newPythonInterpreter();
  10. interpreter.exec("days=('mod','Tue','Wed','Thu','Fri','Sat','Sun');");
  11. interpreter.exec("printdays[1];");
  12. }//main
  13. }


这样得到的结果是Tue,在控制台显示出来,这是直接进行调用的。

2.在java中调用本机python脚本中的函数:

首先建立一个python脚本,名字为:my_utils.py

view plain
  1. defadder(a,b):
  2. returna+b

然后建立一个java类,用来测试,

java类代码 FirstJavaScript:

view plain
  1. importjavax.script.*;
  2. importorg.python.core.PyFunction;
  3. importorg.python.core.PyInteger;
  4. importorg.python.core.PyObject;
  5. importorg.python.util.PythonInterpreter;
  6. importjava.io.*;
  7. importstaticjava.lang.System.*;
  8. publicclassFirstJavaScript
  9. {
  10. publicstaticvoidmain(Stringargs[])
  11. {
  12. PythonInterpreterinterpreter=newPythonInterpreter();
  13. interpreter.execfile("C:\\Python27\\programs\\my_utils.py");
  14. PyFunctionfunc=(PyFunction)interpreter.get("adder",PyFunction.class);
  15. inta=2010,b=2;
  16. PyObjectpyobj=func.__call__(newPyInteger(a),newPyInteger(b));
  17. System.out.println("anwser="+pyobj.toString());
  18. }//main
  19. }

得到的结果是:anwser = 2012

3.使用java直接执行python脚本,

建立脚本inputpy

view plain
  1. #openfiles
  2. print'hello'
  3. number=[3,5,2,0,6]
  4. printnumber
  5. number.sort()
  6. printnumber
  7. number.append(0)
  8. printnumber
  9. printnumber.count(0)
  10. printnumber.index(5)


建立java类,调用这个脚本:

view plain
  1. importjavax.script.*;
  2. importorg.python.core.PyFunction;
  3. importorg.python.core.PyInteger;
  4. importorg.python.core.PyObject;
  5. importorg.python.util.PythonInterpreter;
  6. importjava.io.*;
  7. importstaticjava.lang.System.*;
  8. publicclassFirstJavaScript
  9. {
  10. publicstaticvoidmain(Stringargs[])
  11. {
  12. PythonInterpreterinterpreter=newPythonInterpreter();
  13. interpreter.execfile("C:\\Python27\\programs\\input.py");
  14. }//main
  15. }


得到的结果是:

view plain
  1. hello
  2. [3,5,2,0,6]
  3. [0,2,3,5,6]
  4. [0,2,3,5,6,0]
  5. 2
  6. 3

更多相关文章

  1. Python脚本如何获取当前环节和用户等信息
  2. python mysql 导出到mongodb脚本
  3. 脚本结束后如何运行进程并退出?
  4. 如何获得正在运行的Python脚本的路径?(复制)
  5. Shell脚本更改带变量的目录
  6. Linux(Debian)设置开机自启动脚本
  7. 《Linux命令行与shell脚本》笔记--第5章:使用Linux环境变量
  8. linux shell脚本编程笔记(四): 获取字符串长度的七种方法
  9. 查看Linux服务器网卡流量小脚本shell和Python各一例

随机推荐

  1. android AlarmManager 的相關應用
  2. Android(安卓)选择图片、上传图片之Pictu
  3. 让Activity变成一个窗口:Activity属性设定
  4. android handler
  5. freetype 在android编译时上的一个makefi
  6. android Camera架构介绍
  7. Error:In declare-styleable FontFamilyF
  8. android 技术等级
  9. android必学的两个项目,android仿京东、an
  10. Android 权限管理 — 只防君子不防小人