我有jar文件,执行时会在终端上打印输出,我不确定如何将jar文件输出作为json文件传递。
下面的代码只是在终端上打印jar文件输出
subprocess.Popen(['java', '-jar', '/home/myfolder/collect.jar'])
我正在考虑以下内容,但不知道从...开始。
with open('collect.json', 'w') as fp:
xxxxxxxxxxx
希望有人可以提供进一步的建议。谢谢。
答案 0 :(得分:0)
您可以尝试类似
$parcel1=new Parcel(10,10,10,1);
$parcel2=new Parcel(5,5,5,1);
//$parcel1->getParcelDetails();
//$parcel2->getParcelDetails();
$new_parcel=Parcel::mergeParcels([$parcel1,$parcel2]);
$new_parcel->getParcelDetails();
我希望这会有所帮助。
答案 1 :(得分:0)
这应该可以解决问题。如果您查看subprocess documentation,您会发现check_output运行带有参数的命令并将其输出作为字节字符串返回。
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)
没有运行代码,但是应该可以工作。