Я пытаюсь сохранить вывод терминала скрипта Python в файл и распечатать вывод в терминал.Используя сценарий регистрации ниже, я смог успешно сохранить вывод Python, но мой сценарий вызывает GNU Radio как класс, и этот вывод не сохраняется правильно.Я считаю, что проблема в том, что GNU Radio скомпилирован код C и не перехватывается в перенаправлении stdout.Я пытался использовать сценарий Эли Бендерского в качестве перенаправления, но я не понимаю, как реализовать это в Python 2.7.В идеале я мог бы добавить это перенаправление уровня C в класс Logger и сохранить выходные данные GNU Radio в том же сгенерированном файле журнала.Спасибо за помощь!
import sys
class Logger(object):
def __init__(self, filename="Default.log"):
self.terminal = sys.stdout
self.log = open(filename, "a")
def write(self, message):
self.terminal.write(message)
self.log.write(message)
sys.stdout = Logger("yourlogfilename.txt")
print "Hello world !" # this is should be saved in yourlogfilename.txt