Вход в stdout и файл одновременно с Python - PullRequest
0 голосов
/ 11 октября 2018

У меня есть сценарий python, который вызывает другие сценарии и утилиты через подпроцесс. Открыть Я хочу захватить stdout и stderr как для самого потока сценария, так и для всех его дочерних элементов, направить их в файл и отобразить их на экране.

Я думал о создании подкласса TextIoWrapper и последующей передаче объекта в качестве параметра, где это уместно:

class MyOutput(TextIOWrapper):
    pass

mo = MyOutput()

print("some log",file=mo)
subprocess.Popen("some command",stdout=mo,stderr=mo)

и т. Д.

Есть ли лучший способ?

...