У меня есть файл jar, работающий в командной строке с использованием скриптов python. Файл jar может иногда вызывать исключения или сбои. Я хочу записать эти вхождения и исключения в файл. Я использую sys.stderr
и sys.stdout
, оба кажутся неспособными поймать исключения. Я пишу, чтобы спросить, как я могу это сделать в сценарии python.Запись потока System.err в файле при запуске jar в скриптах python
0
A
ответ
0
Простой перспективе с выходами труб:
def run_capture(command):
import subprocess
child = subprocess.Popen(command, stdout = subprocess.PIPE, stderr = subprocess.PIPE)
(output, errput) = child.communicate()
print "Out:'%s'" % output
print "Err:'%s'" % errput
Все выходные захватывается.
Если я меняю stderr = subprocess.PIPE
на stderr = file("destfile.txt", "w")
, выход stderr поступает в требуемый файл.