使用 python 阅读 .jar 文件的源代码

Read the source code of .jar files with python

我想阅读jar文件的源代码并提取词频。我知道可以使用 Java 编辑器读取 jar 文件的内容,但我想使用 python 脚本自动执行此操作。

您是否特别需要 Python 库? Krakatau 是 Python 中用于反编译 .jar 文件的命令行工具,您或许可以导入它并在脚本中使用相关功能。

或者,您可以调用它,或任何其他命令行 .jar 反编译器,例如 Procyon, 使用 Python 的 Subprocess.

在第二种情况下,您很可能希望重定向并捕获 stdout and/or stderr。基本调用可能类似于:

import os    
from subprocess import Popen, PIPE
.
.
jar_decompiler_output = Popen(('jar_decompiler', '1stparam', '2ndparam',..), stdout= PIPE).communicate()[0].split(os.linesep)

注意 communicate() returns a tuple.