Python stdout.flush

Merhaba arkadaşlar. Python ile komut ekranı üzerinde alt satıra geçmeden sayac gibi birşey yapmak istedim. Ve aşağıdaki gibi bir şey yazdım. İşe yarıyor ama, merak ettiğim şey, burdaki sys.stdout.flush() tam olarak ne iş yapıyor? kodlar:

import sys,time

for x in range(1000):
    time.sleep(0.01)
    print "Sayac: %s \r" % str(x),
    sys.stdout.flush()

print("\nBitti")

Merhaba.

flush’ın İngilizce’deki anlamı sifon çekmek. Yani bir miktar birikmiş suyu daha büyük bir kanala aktarmak. Bunu dosyadaki veriler için düşündüğümüzde flush metodu şunu yapıyor: Metod çağrılana kadar dosyaya yapılmış değişiklikleri dosyaya yazıyor ancak dosyayı kapatmıyor. Bu metodu close metodu gibi düşünebilirsiniz; close metodu dosyayı kaydedip kapatır, ancak flush metodu kaydeder ancak kapatmaz. Bunun iyi yanı dosya kapanmadığı için dosyaya yazmaya devam edebilirsiniz. Etkileşimli kabuğu da bir dosya gibi düşünebilirsiniz. close metodunu kullansaydınız da aynı şeyi yapabilirdiniz, ancak dosya dolayısıyla uçbirim kapanacağı için bunu bir kez yapabilirdiniz.

İyi çalışmalar.

1 Beğeni

Teşekkür ederim sağolun :slight_smile:

1 Beğeni