1.5Kпросмотров
7.7%от подписчиков
10 марта 2026 г.
Score: 1.7K
Некоторый код может выводить интересующие вас данные в stdout, вместо того чтобы предоставлять API, возвращающий строку, пригодную для использования в программе. Вместо рефакторинга такого кода можно воспользоваться менеджером контекста contextlib.redirect_stdout, который позволяет временно перенаправить stdout в любой объект, поддерживающий файловый интерфейс. В сочетании с io.StringIO это позволяет сохранить вывод в переменную. from contextlib import redirect_stdout
from io import StringIO s = StringIO()
with redirect_stdout(s): print(42) print(s.getvalue()) Также существует contextlib.redirect_stderr для перенаправления вывода sys.stderr. 📲 Мы в MAX 👉@BookPython