将Python代码打包为jar软件的简单方法

yipeiwu_com6年前Python基础

py 写东西快
但是java 生态广
比如大数据 py 虽然好 但是利用不到java的整个的生态的代码

scala 虽然也好但是毕竟 有些库 需要自己写的多
虽然也很简单 ,但是查文档也很麻烦

那么 问题来了
最简单的的方式就是直接把py 打包 jar

那么 问题又来了 py 打包成java 挺麻烦的 官方文档看不懂

答案 有了
写了个 包 https://github.com/yishenggudou/jythontools
搞这个事情

timger-mac:test timger$ python ../jytool/jytoollib.py hellojython.py main 

timger-mac:test timger$ java -jar output.jython.jar 
*sys-package-mgr*: processing modified jar, '/Users/timger/GitHub/jythontools/jytool/test/output.jython.jar'
hello jython
timger-mac:test timger$ 

整体代码如下

timger-mac:test timger$ java -jar output.jython.jar a a s s s
hello jython
['a', 'a', 's', 's', 's']
timger-mac:test timger$ cat hellojython.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
# Copyright 2011 timger
#  +Author timger
#  +Gtalk&Email yishenggudou@gmail.com
#  +Msn yishenggudou@msn.cn
#  +Weibo @timger http://t.sina.com/zhanghaibo
#  +twitter @yishenggudou http://twitter.com/yishenggudou
#  Licensed under the MIT License, Version 2.0 (the "License");
__author__ = 'timger'
import sys


def main():
  print "hello jython"
  print sys.argv


相关文章

Python多继承以及MRO顺序的使用

多继承以及MRO顺序 1. 单独调用父类的方法 # coding=utf-8 print("******多继承使用类名.__init__ 发生的状态******") class...

python模块导入的细节详解

python模块导入的细节详解

python模块导入细节 本文主要介绍了关于python模块导入的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 官方手册:https://docs.pytho...

python指定写入文件时的编码格式方法

实例如下: #encoding=utf-8 content=u"广东松炀再生资源股份有限" content=content.encode("utf-8")#写入的文件编码格式为utf...

Django进阶之CSRF的解决

Django进阶之CSRF的解决

简介 django为用户实现防止跨站请求伪造的功能,通过中间件 django.middleware.csrf.CsrfViewMiddleware 来完成。而对于django中设置防跨站...

用Python脚本来删除指定容量以上的文件的教程

文件多了乱放, 突然有一天发现硬盘空间不够了, 于是写了个python脚本搜索所有大于10MB的文件,看看这些大文件有没有重复的副本,如果有,全部列出,以便手工删除 使用方式 加一个指定...