001 发大招了 神奇的效率工具--Java代码转python代码
今天发现一个好玩的工具:
可以直接将java转成python
1、 安装工具(windows 环境下面)
先下载antlr:
下载链接如下:
http://www.antlr3.org/download/antlr-3.1.3.tar.gz
或者到百度云下载:
百度云链接:http://pan.baidu.com/s/1gdgXUM3 密码:2qrx
下载成功并解压后,进入\antlr-3.1.3\runtime目录,输入CMD,在CMD中输入如下指令:
python setup.py install,以安装antlr包,如果报错,进入\antlr-3.1.3\runtime\Python目录下,进行同样的操作





2、安装完antlr的工具包后,如上步骤,在相同目录下,即\antlr-3.1.3\runtime\Python下,输入CMD,进入CMD中,输入指令:pip install java2python ,以在线安装java2python包 。如果通过指令的方式没法成功下载安装java2python包的话,也可以去github上下载java2python包,下载成功后,解压到本地,通过本地安装的方式安装java2python包。
java2python包的Github路径如下:
https://github.com/natural/java2python.git

安装过程中,遇到"'pip' 不是内部或外部命令,也不是可运行的程序或批处理文件"的问题
解决"'pip' 不是内部或外部命令,也不是可运行的程序或批处理文件"的问题的方法:
参考下面链接解决:https://blog.csdn.net/miss85246/article/details/81069276
解决后,pip命令可以正常使用

继续使用命令在线安装java2python包


遇到安装超时的问题:


安装超时,按照命令中给出的黄色提示,输入指令:python -m pip install --upgrade pip,以更新pip包
You are using pip version 9.0.1, however version 19.3.1 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.

开始更新pip包

开始下载pip包

最终依然没有更新成功pip包,没法使用pip命令在线安装java2python包。
只好github上下载java2python包:https://github.com/natural/java2python.git,然后进行本地安装。
本地安装java2python包
参考链接:
pip install *.whl 直接在pip install命令后添加whl包的全路径名就能本地安装成功了
下载需要的包,一般为zip、tar.gz等的压缩包,解压后,打开命令行,进入解压目录,使用python setup.py install命令安装。
进入路径

在上图红色框中输入cmd
之后cmd中输入命令:python setup.py install
开始本地安装java2python包

本地安装java2python包安装成功


2、使用工具
在Python27\Scripts目录下会生成一个j2py文件,它其实是个python文件
cmd进入该目录下:
然后将一个已写好的java程序跟踪下面的命令后面(.java 文件在python安装路径:\Python27\Scripts\目录下;如不在这个目录下,请带上具体路径;):
python j2py your_java_file.java
如下的java代码:


cmd进入上图目录下



输入命令: python j2py+需要转为python文件的Java文件的路径及其文件名和后缀
本例中为需要转为python文件的Java文件TokenTest.java就在script目录下, 所以无需添加路径,所以本例的指令为
: python j2py TokenTest.java
执行命令出错,遇到报错,提示编码格式有问题:
File "j2py", line 120, in runTransform
tree = buildAST(source)
File "E:\Python\Python27\lib\site-packages\java2python\compiler\__init__.py", line 15, in buildAST
lexer = Lexer(StringStream(source))
File "E:\Python\Python27\lib\site-packages\antlr_python_runtime-3.1.3-py2.7.egg\antlr3\streams.py", line 336, in __init__
self.strdata = unicode(data)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe6 in position 1058: ordinal not in range(128)

解决办法:找到出错的文件E:\Python\Python27\lib\site-packages\antlr_python_runtime-3.1.3-py2.7.egg\antlr3\streams.py,

打开文件,添加下面三行代码:
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
参考图:

自己的图:

保存对streams.py添加代码后的更改;
再次执行命令:python j2py TokenTest.java
ok,执行成功!!!Java代码已经成功转成Python代码,将代码拷贝出来即可调试使用!

转换后的Python代码如下:
|
#!/usr/bin/env python from __future__ import print_function # package: com.example.demo class TokenTest(object): @classmethod def main(cls, args): if __name__ == '__main__': import sys TokenTest.main(sys.argv) |
参考链接:
https://www.cnblogs.com/ceo-python/p/11601811.html
https://jingyan.baidu.com/article/3c343ff7fb279a0d377963a0.html
001 发大招了 神奇的效率工具--Java代码转python代码的更多相关文章
- 如何在Java中调用Python代码
有时候,我们会碰到这样的问题:与A同学合作写代码,A同学只会写Python,而不会Java, 而你只会写Java并不擅长Python,并且发现难以用Java来重写对方的代码,这时,就不得不想方设法“调 ...
- 在Java中调用Python代码
极少数时候,我们会碰到类似这样的问题:与A同学合作写代码, A同学只会写Python,不熟悉Java ,而你只会写Java不擅长Python,并且发现难以用Java来重写对方的代码,这时,就不得不想方 ...
- java代码转python代码
(1)安装工具(windows 环境下面) 先下载antlr: http://www.antlr3.org/download/antlr-3.1.3.tar.gz 链接:http://pan.baid ...
- java调用python代码
同样的我们需要安装jython,具体的步骤如下: 1. 去 http://sourceforge.net/projects/jython/ 下载最新的jython相关的jar包. 2. 下载下来的ja ...
- python代码检查工具pylint 让你的python更规范
1.pylint是什么? Pylint 是一个 Python 代码分析工具,它分析 Python 代码中的错误,查找不符合代码风格标准(Pylint 默认使用的代码风格是 PEP 8,具体信息,请参阅 ...
- Java效率工具Lombok使用与原理
Java效率工具Lombok使用与原理 我个人觉得 Lombok是一个优化Java代码以及提升开发效率不错的工具.Lombok 的Github地址为:https://github.com/rzwits ...
- Java 效率工具, 大幅度提高开发效率
你是否有遇到过这样的情况,在开发过程中需要比较两列数据,但使用文本比对工具的话他是按行基准比对的,我还得对每列数据先进行排序,但排序又去哪里排, 想到 excel 可以排序 , 折腾下来,特别麻烦, ...
- Java静态检测工具/Java代码规范和质量检查简单介绍(转)
静态检查: 静态测试包括代码检查.静态结构分析.代码质量度量等.它可以由人工进行,充分发挥人的逻辑思维优势,也可以借助软件工具自动进行.代码检查代码检查包括代码走查.桌面检查.代码审查等,主要检查代码 ...
- 八、jdk工具之JvisualVM、JvisualVM之二--Java程序性能分析工具Java VisualVM
目录 一.jdk工具之jps(JVM Process Status Tools)命令使用 二.jdk命令之javah命令(C Header and Stub File Generator) 三.jdk ...
随机推荐
- Python 3.10 明年发布,看看都有哪些新特性?
我们目前生活在Python 3.8的稳定时代,上周发布了Python的最新稳定版本3.8.4.Python 3.9已经处于其开发的beta阶段,并且2020年7月3日预发布了beta版本(3.9.0b ...
- asterisk 传真服务器配置
摘要: asterisk 可以作为电子传真服务器,进行收发电子传真.但是配置起来,比较麻烦,需要一番折腾.在这儿分享一下电子传真的配置,希望对朋友们有所帮助. 正题: asterisk 如果需要收发电 ...
- Python基本
Python基本规则 1.面向对象的跨平台的编程语言 2.文件类型是.py, 3.一个文件是一个模块module,运行整个文件 4.不支持非英文字符,区分大小写 5.一行是一条语句,多条语句写一行用; ...
- Matlab摄像头视频基本处理
一.读取摄像头 1.首先保证摄像头及其驱动正确在电脑上安装 2.简单的代码显示驱动摄像头,并显示: vid = videoinput('winvideo',1); preview(vid); 3.默认 ...
- 浅析LR.Net工作流引擎
在当代信息化软件系统开发中,工作流引擎是其中非常重要的一环.所谓工作流引擎,是指工作流作为软件系统的一部分, 其中包括了流程的节点管理.流向管理.流程样例管理.审核管理等重要功能. 工作流引擎可根据角 ...
- leetcode刷题-93复原IP地址
题目 给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式. 有效的 IP 地址正好由四个整数(每个整数位于 0 到 255 之间组成),整数之间用 '.' 分隔. 示例: 输入: &q ...
- Java中String.strip()和String.trim()方法
strip和trim String.trim() 可以去除字符串前后的"半角"空白字符 String.strip() 可以去除字符串前后的"全角和半角"空白字符 ...
- 360浏览器最小字号12的坑 -彻底搞清rem
之前做响应式网站,使用rem作为单位.因为浏览器的默认字号是16px,设置html {font-size: 62.5%; /*10 ÷ 16 × 100% = 62.5%*/},刚好1rem =10p ...
- python 小脚本/自动重复访问网站(快速提高网页访问量)
来到csdn也快两个月了,前前后后写了20篇博客,但才1800+的访问量,其中恐怕还有300多是我自己点的 有点桑心(┬_┬) 于是打算另辟蹊径,自己刷访问量代码如下,需要自取 import urll ...
- Spring Cloud Alibaba微服务生态的基础实践
目录 一.背景 二.初识Spring Cloud Alibaba 三.Nacos的基础实践 3.1 安装Nacos并启动服务 3.2 建立微服务并向Nacos注册服务 3.3 建立微服务消费者进行服务 ...