写了一个java调用Jython函数的小例子:
java 代码:
public static void main(String args[]){
Hashtable table = new Hashtable();
table.put(new PyString("method"), new PyString("login"));
table.put(new PyString("customerName"), new PyString("aa"));
table.put(new PyString("pssword"), new PyString("111111"));
System.out.println(System.currentTimeMillis());
PythonInterpreter interp = new PythonInterpreter();
interp.execfile(CustomerDao.class.getResourceAsStream("test.py"));
PyFunction func =
(PyFunction)interp.get("testMethod",PyFunction.class);
System.out.println(System.currentTimeMillis());
PyObject pyobj = func.__call__(new PyDictionary(table));
System.out.println(System.currentTimeMillis());
System.out.println(pyobj.toString());
}
Python代码:
def testMethod(params):
""" test method of Jython
Returns string."""
return ";".join(["%s=%s" % (k, v) for k, v in params.items()])
注意:Hashtable使用PyDictionary类型,其他请参见Jython的API文档。
上面这个程序加载*.py代码的时候会比较慢,所以要考虑把PyhtonIterPreter缓存起来。
分享到:
相关推荐
《Java调用Python脚本:Jython详解及应用》 在现代软件开发中,常常需要在不同的编程语言之间进行交互,比如Java与Python。Jython是这样一种工具,它允许Java开发者无缝地运行Python代码,使得Java应用可以利用...
Jython 是一种能够运行在 Java 平台上的 Python 解释器,它允许开发者直接使用 Python 代码调用 Java API,同时也支持 Java 代码调用 Python 的功能。本文档旨在帮助初学者了解如何在 Java 应用程序中集成 Jython,...
Java调用Python的方法是使用Jython实现的,Jython是一门语言,它不是Java或Python的解释器,而是一种能够实现Java和Python代码互相访问的技术。 什么是Jython?Jython是一种语言,它可以实现Java和Python代码的互相...
总的来说,Jython与JyNI的结合使用旨在增强Python在Java环境中的功能,但成功集成需要对系统环境、编译过程以及库依赖有深入理解。对于编译错误,需要耐心地调试和适配,以确保所有组件的兼容性。
Jython 的一大优势是能直接调用 Java 类库。例如,我们可以使用 Java 的 `java.util.Date` 类: ```python from java.util import Date now = Date() print(now.toString()) # 输出当前日期和时间 ``` ### 学习...
这使得使用Jython开发跨平台的应用程序变得简单,特别是在需要与Java系统集成时。 将JSON与Jython结合,可以创建强大的数据处理和网络应用。Jython提供了内置的json模块,该模块允许我们轻松地对JSON数据进行编码和...
例如,Jython 允许 Python 脚本访问和使用 Java 库,这样开发者就可以利用 Java 广泛的库资源来扩展 Python 程序的功能。 最后,Jython 的官方网站提供了丰富的学习资源,包括对内置模块的详细解释和例子。这些资源...
21.8 使用Jython进行测试 483 21.9 嵌入Jython解释器 484 21.10 处理C-Python和Jython 之间的差异 487 21.11 本章小结 488 21.12 习题 488 第Ⅳ部分 附 录 附录A 习题答案 491 附录B 在线资源 519 附录C Python 3.1...
- **使用Java库**:演示如何在Jython程序中使用Java库。 #### 四、总结 《Python 3.0 Patterns, Idioms》不仅是一本学习Python高级特性的指南,更是提升Python编程技能的重要参考书。通过对书中各个主题的学习,...
### 思维模式:使用Java的问题解决技巧 #### 标题和描述中的核心知识点解析: **标题与描述:“Thinking in Patterns – Problem Solving Techniques using Java”** 本标题及描述主要聚焦于通过Java语言来实现...
word源码java 不再维护 PyCascading 级联 PyCascading 是 ...上面,重塑流的用户定义函数使用 PyCascading 装饰器进行注释,并且工作流是通过将操作相互链接来创建的。 可以在示例文件夹中找到不同用
4.10 Jython包装器:Jython是一种可以运行在Java平台上的Python实现,FreeMarker提供了对Jython的支持。 三部分、XML处理指南 这一部分讲述了如何在FreeMarker中处理XML文档。 一、揭示XML文档 1.1 节点树:介绍了...
12. **Python解释器**:Python程序由Python解释器执行,如CPython(官方实现)、Jython(Java平台)和IronPython(.NET平台)等。 在“第12章”这个文件名中,可能是对某个教程或课程的划分,第12章可能涉及特定...
2.17.2 如何调用函数 2.17.3 默认参数 2.18 类 2.19 模块 2.19.1 如何导入模块 2.19.2 如何访问一个模块函数或访问一个模块变量 2.20 实用的函数 2.21 练习 第3章 ...
在程序开发指南中,还涵盖了诸如变量处理、字符集问题、多线程支持、Bean封装、日志记录、在Servlet中使用、配置安全策略、遗留的XML包装实现、与Ant集成和Jython包装器等高级话题。 在阅读FreeMarker手册后,用户...
在实际应用中,FreeMarker可以灵活地嵌入到各种应用服务器和编程环境中,比如在Servlet中使用、配置安全策略、处理多线程问题,以及与Ant工具或Jython语言的集成。对于使用FreeMarker的开发者来说,这份手册是一个...
Python解释器有多种,例如CPython(官方实现)、Jython(在Java平台上运行)、IronPython(在.NET平台上运行)等。它们的主要区别在于底层实现和可移植性。 PEP8是Python的编码规范,它包括但不限于以下几点: 1. ...
- **4.10 Jython包装器:**解释了如何使用Jython脚本来扩展FreeMarker的功能。 #### 四、XML处理指南 **第一章 揭示XML文档** - **1.1 节点树:**介绍了如何将XML文档表示为节点树。 - **1.2 将XML放到数据模型中...