Как перенаправить stdout на произвольный файл в Python?
Когда запущенный Python script (например, веб-приложение) запускается из сеанса ssh и завершается, а сеанс ssh закрывается, приложение будет увеличивать IOError и не сможет выполнить попытку записи в stdout, Мне нужно было найти способ сделать приложение и модули выводятся в файл, а не stdout, чтобы предотвратить сбой из-за IOError. В настоящее время я использую nohup для перенаправления вывода в файл, и это выполняет эту работу, но мне было интересно, есть ли способ сделать это, не используя nohup, из любопытства.
Я уже пробовал sys.stdout = open('somefile', 'w')
, но это не мешает некоторым внешним модулям выводить на терминал (или, может быть, строка sys.stdout = ...
вообще не срабатывает). Я знаю, что он должен работать с более простыми сценариями, которые я тестировал, но у меня еще не было времени на тестирование в веб-приложении.