今天发现一个好玩的工具:

可以直接将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包

参考链接:

python 安装本地包的方法

pip install *.whl      直接在pip install命令后添加whl包的全路径名就能本地安装成功了

下载需要的包,一般为zip、tar.gz等的压缩包,解压后,打开命令行,进入解压目录,使用python setup.py install命令安装。

python安装本地包

进入路径

在上图红色框中输入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代码的更多相关文章

  1. 如何在Java中调用Python代码

    有时候,我们会碰到这样的问题:与A同学合作写代码,A同学只会写Python,而不会Java, 而你只会写Java并不擅长Python,并且发现难以用Java来重写对方的代码,这时,就不得不想方设法“调 ...

  2. 在Java中调用Python代码

    极少数时候,我们会碰到类似这样的问题:与A同学合作写代码, A同学只会写Python,不熟悉Java ,而你只会写Java不擅长Python,并且发现难以用Java来重写对方的代码,这时,就不得不想方 ...

  3. java代码转python代码

    (1)安装工具(windows 环境下面) 先下载antlr: http://www.antlr3.org/download/antlr-3.1.3.tar.gz 链接:http://pan.baid ...

  4. java调用python代码

    同样的我们需要安装jython,具体的步骤如下: 1. 去 http://sourceforge.net/projects/jython/ 下载最新的jython相关的jar包. 2. 下载下来的ja ...

  5. python代码检查工具pylint 让你的python更规范

    1.pylint是什么? Pylint 是一个 Python 代码分析工具,它分析 Python 代码中的错误,查找不符合代码风格标准(Pylint 默认使用的代码风格是 PEP 8,具体信息,请参阅 ...

  6. Java效率工具Lombok使用与原理

    Java效率工具Lombok使用与原理 我个人觉得 Lombok是一个优化Java代码以及提升开发效率不错的工具.Lombok 的Github地址为:https://github.com/rzwits ...

  7. Java 效率工具, 大幅度提高开发效率

    你是否有遇到过这样的情况,在开发过程中需要比较两列数据,但使用文本比对工具的话他是按行基准比对的,我还得对每列数据先进行排序,但排序又去哪里排, 想到 excel 可以排序 , 折腾下来,特别麻烦, ...

  8. Java静态检测工具/Java代码规范和质量检查简单介绍(转)

    静态检查: 静态测试包括代码检查.静态结构分析.代码质量度量等.它可以由人工进行,充分发挥人的逻辑思维优势,也可以借助软件工具自动进行.代码检查代码检查包括代码走查.桌面检查.代码审查等,主要检查代码 ...

  9. 八、jdk工具之JvisualVM、JvisualVM之二--Java程序性能分析工具Java VisualVM

    目录 一.jdk工具之jps(JVM Process Status Tools)命令使用 二.jdk命令之javah命令(C Header and Stub File Generator) 三.jdk ...

随机推荐

  1. XMLHttpRequest 简单封装

    当开发简单页面的时候,不需要引入任何js库,这时需要封装一个用到 XMLHttpRequest 对象的好用的接口请求. simple 封装如下 ajaxRequest({ url: '', metho ...

  2. android开发之java代码中字符串对比忽略大小写。java程序员必回,可用来比对验证码等问题

    比如:字符串a与字符串B对比,只需调用 a.equalsIgnoreCase(B);即可.很简单的一个方法.忽略大小写.

  3. 良许被百万大V安排得服服帖帖,还跟美女小姐姐合影了……

    大家好,我是良许. 很多人问我说,良许,你在工作之余还花这么多时间精力去写公众号运营自媒体,到底是为了什么? 其实原因很简单,就是想做个副业,万一到了 35 岁真的失业了,我至少还有另外一份收入,不至 ...

  4. vue3.0 加载json的“另类”方法(非ajax)

    问题 加载json一定要用ajax的方式吗? 最近学习vue3.0,在实现一个功能的时候发现一个问题-- 写代码的时候,需要的json太长.太多,和代码放在一起太混乱.看代码总有翻来翻去,又没有&qu ...

  5. 小程序开发-媒体组件video使用入门

    video 视频(v2.4.0 起支持同层渲染).相关api:wx.createVideoContext 常见属性如下: 支持的格式 示例: <video src="http://wx ...

  6. linux 文件类型和权限

    linux 文件类型和权限 ls -l 显示: [user@wyf-201 ~]$ ll total 0 -rw-rw-r--. 1 user user 0 Aug 27 10:49 1.txt dr ...

  7. nginx 配置下载text等文件

    当前的浏览器能够识别文件格式,如果浏览器本身能够解析就会默认打开,如果不能解析就会下载该文件.比如txt文件就直接被解析,还有其他文件也是一样. 在nginx.conf配置文件中添加 add_head ...

  8. docker打包项目

    nginx镜像制作实战 docker容器的主业 docker理念里,容器启动时,应当为它指定主业是什么,如nginx容器主业就是nginx代理服务,tomcat容器就是web服务等等 1.容器创建时, ...

  9. Oracle数据库访问客户端 sqldeveloper-19.2.1.247.2212-x64 下载

    Oracle数据库访问客户端 sqldeveloper-19.2.1.247.2212-x64 地址:https://pan.baidu.com/s/1iojCVxwXocyM8oObTf0xaw 这 ...

  10. C#封装YOLOv4算法进行目标检测

    C#封装YOLOv4算法进行目标检测 概述 官网:https://pjreddie.com/darknet/ Darknet:[Github] C#封装代码:[Github] YOLO: 是实现实时物 ...