【发布时间】:2019-06-25 18:57:49
【问题描述】:
我在 python 中使用 jpype 调用 jar 文件中的代码。 java代码将一堆输出打印到stdout,我只想重定向到/dev/null。我该怎么做?我无法修改java代码(因为它是一个外部项目)。
这是我的python代码:
import jpype
import jpype.imports
jpype.startJVM(jpype.getDefaultJVMPath(), '-Djava.class.path=%s' % astral)
jpype.imports.registerDomain('phylonet')
from phylonet.coalescent import CommandLine
CommandLine.main(['-i', input_file, '-o', output_file])
jpype.shutdownJVM()
幸运的是,我可以将我需要的输出重定向到一个文件,但我仍然会得到很多不需要的输出直接到标准输出。我在一个进程池中调用多个实例,所以我最终得到了来自多个 java 代码实例的乱码输出。
【问题讨论】: