Czy buforowanie danych wyjściowych jest domyślnie włączone dla interpretera Pythona sys.stdout
?
Jeśli odpowiedź jest pozytywna, jakie są wszystkie sposoby jej wyłączenia?
Dotychczasowe sugestie:
- Użyj
-u
przełącznika wiersza polecenia - Zawiń
sys.stdout
w obiekt, który opróżnia się po każdym zapisie - Ustaw
PYTHONUNBUFFERED
env var sys.stdout = os.fdopen(sys.stdout.fileno(), 'w', 0)
Czy jest jakiś inny sposób na ustawienie globalnej flagi sys
/ sys.stdout
programowo podczas wykonywania?
-u
jest to, że nie będzie działać w przypadku skompilowanego kodu bajtowego lub aplikacji z __main__.py
plikiem jako punktem wejścia.