При спробі записати stdout із сценарію Python у текстовий файл ( python script.py > log), текстовий файл створюється при запуску команди, але власне вміст не записується до завершення сценарію Python. Наприклад:
script.py:
import time
for i in range(10):
print('bla')
time.sleep(5)
друкує до stdout кожні 5 секунд при python script.pyдзвінку з , але коли я дзвоню python script.py > log, розмір файлу журналу залишається нульовим, поки сценарій не завершиться. Чи можна безпосередньо записати у файл журналу, щоб ви могли стежити за ходом сценарію (наприклад, використовуючи tail)?
EDIT Виявляється, що python -u script.pyце хитрість, я не знав про буферизацію stdout.