При спробі записати 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.