Чи включено буферизацію виводу за замовчуванням в інтерпретаторі Python для sys.stdout
?
Якщо відповідь позитивна, які існують способи її відключення?
Поки що пропозиції:
- Використовуйте
-u
перемикач командного рядка - Загорніть
sys.stdout
у предмет, який змивається після кожного запису - Встановити
PYTHONUNBUFFERED
env var sys.stdout = os.fdopen(sys.stdout.fileno(), 'w', 0)
Чи є якийсь інший спосіб встановити якийсь глобальний прапор в sys
/ sys.stdout
програмно під час виконання?
-u
є те, що він не працюватиме для компільованого байт-коду або для додатків, що мають __main__.py
файл в якості точки входу.