python代码如何转jar包
作者:灬点点
这篇文章主要介绍了python代码如何转jar包问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
一、安装
首先需要安装jython-installer-2.7.1的jar包工具。
二、注意需要默认安装
三、使用cmd进入jython环境
3.1、配置环境变量
3.2、注册环境点击运行jython_regrtest.bat
3.3、最后后使用命令进行转换,但是只有jython-installer-2.2.0
版本才能使用命令进行转换,由于jython-installer-2.7.0
的版本升级,现在直接类型配置文件或者写在run()或者main(
)方法中才能运行。
引入pom.xml
<dependency> <groupId>org.python</groupId> <artifactId>jython-standalone</artifactId> <version>2.7.0</version> </dependency>
java代码
package com.xxxx.checkandbigdataquery.jpython; import org.python.core.Py; import org.python.core.PySystemState; import org.python.util.PythonInterpreter; public class HelloPython { public static void main(String[] args) { test1(); //test2(); //test3(); } /** * 运行python文件 */ public static void test1() { PythonInterpreter interpreter = new PythonInterpreter(); interpreter.execfile("D:/jython2.7.1/test.py"); } /** * 运行python 代码 */ public static void test2(){ PythonInterpreter interpreter = new PythonInterpreter(); interpreter.exec("print('hello')"); } /** * 手动添加第三方库路径 * 把第三方库文件夹放到执行的.py脚本同级目录 */ public static void test3(){ PySystemState sys = Py.getSystemState(); System.out.println(sys.path.toString()); sys.path.add("F:\\Python27\\Lib\\site-packages\\jieba"); } }
package com.xxxx.checkandbigdataquery.jpython; import org.python.core.PyFunction; import org.python.core.PyInteger; import org.python.core.PyObject; import org.python.util.PythonInterpreter; public class Fibo { public static void main(String[] args) { PythonInterpreter interpreter = new PythonInterpreter(); interpreter = new PythonInterpreter(); interpreter.execfile("./pythonSrc/fibo.py"); PyFunction function = (PyFunction)interpreter.get("fib",PyFunction.class); PyObject o = function.__call__(new PyInteger(8)); System.out.println(o.toString()); } }
package com.xxxx.checkandbigdataquery.jpython; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Cmd { public static void main(String[] args) throws IOException, InterruptedException { String[] arguments = new String[] { "python", "D:\\jython2.7.1\\time.py", "huzhiwei", "25" }; try { Process process = Runtime.getRuntime().exec(arguments); BufferedReader in = new BufferedReader(new InputStreamReader(process.getInputStream())); String line; while ((line = in.readLine()) != null) { System.out.println(line); } in.close(); int re = process.waitFor(); System.out.println(re); } catch (Exception e) { e.printStackTrace(); } } }
py代码
#coding:utf-8 def countNum(param): reslut = "" if(param[1]+param[2]) == 0: reslut ="除数不能为0" else: res = param[0]/(param[1]+param[2]) reslut ="this count: "+str(res) print(reslut) if __name__=="__main__": countNum([10,2,3])
#!/usr/bin/python #coding=utf-8 #定义一个方法 def my_test(name, age): print("name: "+str(name)) print(age) #str()防解码出错 return "success" #主程序 #sys.argv[1]获取cmd输入的参数 my_test(sys.argv[1], sys.argv[2])
四、解决问题
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。