如何使用python将jar文件输出发送到json文件

如何使用python将jar文件输出发送到json文件,python,json,file,jar,Python,Json,File,Jar,我有一个jar文件,执行时会在终端上打印输出,我不知道如何将jar文件输出作为json文件传递 下面的代码只是在终端上打印jar文件输出 subprocess.Popen(['java', '-jar', '/home/myfolder/collect.jar']) 我在想下面的内容,但不知道如何开始 with open('collect.json', 'w') as fp: xxxxxxxxxxx 希望有人能进一步建议。谢谢。你可以试试这样的东西 with open('collec

我有一个jar文件,执行时会在终端上打印输出,我不知道如何将jar文件输出作为json文件传递

下面的代码只是在终端上打印jar文件输出

subprocess.Popen(['java', '-jar', '/home/myfolder/collect.jar'])
我在想下面的内容,但不知道如何开始

with open('collect.json', 'w') as fp:
    xxxxxxxxxxx

希望有人能进一步建议。谢谢。

你可以试试这样的东西

with open('collect.json','w') as fp :
  subprocess.Popen('java -jar .//home/myfolder/collect.jar',stdout=fp).wait()
有关更多信息,请参见此问题


我希望这有帮助

这应该能奏效。如果查看,您可以看到check_输出运行带有参数的命令,并以字节字符串的形式返回其输出

import multiprocessing as mp
import subprocess

command = "java -jar /home/myfolder/collect.jar"

def runCommand(q):
    commandOutput = subprocess.check_output(command.split()).decode("utf-8")
    q.put(commandOutput)

q = mp.Queue()
commandProcess = mp.Process(target=runCommand, args=(q, ))
commandProcess.start()
output = q.get()
print(output)
with open('collect.json', w) as fp: 
    fp.write(output)

没有运行代码,但应该可以工作。

可能重复我在发布问题之前尝试过的…仍然失败,谢谢你的建议..嗨…我收到错误导入错误错误:没有名为MUTIPROCESSION的模块。我的pip列表确实安装了mutiprocess对不起…多重处理的打字错误..我再次运行代码。。。无论如何…代码运行,但json文件为空…没有数据…@chenoi再次尝试上面的代码,我希望实际编写该文件(请参阅fp.write(output)),它工作正常…非常感谢。。。。我在前面发现了缺失的部分…感谢您的关注和支持…您好…此获取错误引发TypeError(“bufsize必须是整数”)TypeError:bufsize必须是整数我添加[]如下subprocess.Popen(['java-jar//home/myfolder/collect.jar'],stdout=fp)。wait()