Stdout'u bir Python komut dosyasından bir metin dosyasına ( python script.py > log
) yazmaya çalışırken, komut başlatıldığında metin dosyası oluşturulur, ancak Python komut dosyası tamamlanana kadar gerçek içerik yazılmaz. Örneğin:
script.py:
import time
for i in range(10):
print('bla')
time.sleep(5)
çağrıldığında her 5 saniyede bir stdout yazdırır python script.py
, ancak aradığımda python script.py > log
, günlük dosyasının boyutu kod bitene kadar sıfır kalır. Komut dizisinin ilerlemesini takip edebilmeniz için (ör. Kullanarak tail
) doğrudan günlük dosyasına yazmak mümkün mü ?
EDIT Bu python -u script.py
hile yapar, çıkıyor stdout tamponlama hakkında bilmiyordum.