在python中重定向jar文件的输出

时间:2016-12-09 11:39:25

标签: python subprocess

我想用python将我的jar的输出重定向到一个文件中我已经尝试了以下但是它没有用完

import sys
import subprocess

cmdargs = sys.argv
fname = str(cmdargs[1])
input = '../res/test/'+fname
output = '../res/res/'+fname
subprocess.Popen(['java', '-jar', '../res/chemTagger2.jar',input,'>',output]) 

输出在控制台中打印

1 个答案:

答案 0 :(得分:1)

您可以使用subprocess.Popen命令中的参数重定向stdout stderrPopen,如下所示:

import sys
import subprocess

cmdargs = sys.argv
fname = str(cmdargs[1])
input = '../res/test/' + fname
output = '../res/res/' + fname

with open(output, 'a') as f_output:
    subprocess.Popen(['java', '-jar', '../res/chemTagger2.jar',input], stdout=f_output)