2016-12-09 4 views
0

Я хочу, чтобы перенаправить вывод моего кувшина в файле с питоном Я попытался следующие, но это не сработалоперенаправить вывод баночки файла в Python

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]) 

выход печати в консоли

+0

Возможные DUP лицензию [писать в дескриптор файла 3 подпроцесса Python.Popen object] (http://stackoverflow.com/questions/6050187/write-to-file-descriptor-3-of-a-python-subprocess-popen-object) См. Также http://stackoverflow.com/questions/18421757/live-output-from-subprocess-command – fredtantini

ответ

1

Вы можете перенаправить subprocess.Popenstdout и stderr, используя свои параметры в пределах команды Popen следующим образом:

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) 
Смежные вопросы