TGViewer
Python Community Python Community @python_community_ru · 11.6K subscribers
Post #2729 762
🖥 Контекстный перехват stdout — как легко отключить или сохранить print

💡 Хотите, чтобы print() не мешал логике и при этом легко отключался или сохранялся в файл?

Вместо того чтобы комментировать все print() в проде, подмените стандартный вывод через контекстный менеджер — и легко направляйте вывод в файл, /dev/null или даже буфер для последующей обработки.

Это особенно полезно при отладке в прод-среде или при генерации логов без сторонних библиотек.


import sys
from contextlib import contextmanager
from io import StringIO
import os

@contextmanager
def capture_stdout(to_file=None, suppress=False):
original_stdout = sys.stdout
try:
if suppress:
sys.stdout = open(os.devnull, 'w')
elif to_file:
sys.stdout = open(to_file, 'w')
else:
buffer = StringIO()
sys.stdout = buffer
yield sys.stdout
finally:
sys.stdout.close() if sys.stdout not in (original_stdout, sys.__stdout__) else None
sys.stdout = original_stdout

# Пример использования:
with capture_stdout(suppress=True):
print("Этого вы не увидите")

with capture_stdout(to_file="output.log"):
print("А это уйдёт в файл")

with capture_stdout() as captured:
print("Это записано во внутренний буфер")

print("Буфер содержит:", captured.getvalue().strip())




@Python_Community_ru
More from @python_community_ru
  1. Oct 2, 2026webAI выпустила TwIL-LM3-Pro - компактную модель на 3,66B параметров специально для формал…
  2. Oct 1, 2026🔥 Бесплатный курс по Claude Code на русском: от установки до команды агентов На GitHub вы…
  3. Sep 30, 2026🖥 Cayu - open-source runtime для долгоживущих ИИ-агентов на Python Проект закрывает инфра…
  4. Sep 29, 2026🖥 Примеры кода на Python 2026: лучшие практики, разбор и задачи с решениями Python пример…
  5. Sep 28, 2026🚀 Jina-OCR-v1 разбирает целые страницы в Markdown со скоростью 2,57 страницы/с Jina AI пр…
  6. Sep 27, 2026🐍 В Python 3.15 решили мягко «похоронить» re.match() re.match() никуда не удаляют, но для…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →