Я хотел бы записать в файл стандартный вывод дочерним процессом Process, порожденным внешним пакетом.Захват стандартного вывода для ребенка Python, порожденного внешним пакетом
Я НЕ могу просто перенаправить файл sys.stdout в файл, так как это не отображает вывод новых процессов (How can I capture the stdout output of a child process?).
Но, к сожалению, я также не могу просто использовать подпроцесс или терминал для захвата stdout, так как я не создаю процесс - он генерируется кодом во внешнем пакете Python.
В частности, я использую API для пакета pystan. Некоторые из функций этого пакета порождают дочерние MCMC-программы, которые записывают на стандартный вывод.