🖥 Нужно временно отключить все принты — например, в проде или при юнит-тестах?
Этот трюк нужен, чтобы временно отключить принты не удаляя и не комментируя строки вручную.
На экране простой способ сделать это через контекстный менеджер — без сторонних библиотек и без комментирования строк.
import sys, os
from contextlib import contextmanager
@contextmanager
def suppress_print():
saved = sys.stdout
sys.stdout = open(os.devnull, 'w')
yield
sys.stdout.close()
sys.stdout = saved
Пример:
print("Это видно")
with suppress_print():
print("А это — нет")
print("Снова видно")
- вопросы с собеседований Python
@Python_Community_ru
Post #2754
886
- 🔥 1