python Sys.stdout.flush () विधि का उपयोग





2 Answers

निम्नलिखित सरल पायथन लिपि पर विचार करें:

import time
import sys

for i in range(5):
    print i,
    #sys.stdout.flush()
    time.sleep(1)

यह पांच सेकंड के लिए हर दूसरे नंबर पर एक नंबर मुद्रित करने के लिए डिज़ाइन किया गया है, लेकिन यदि आप इसे अभी चलाते हैं (आपके डिफ़ॉल्ट सिस्टम बफरिंग के आधार पर) आप स्क्रिप्ट पूर्ण होने तक कोई आउटपुट नहीं देख सकते हैं, और फिर सभी एक बार आप देखेंगे 0 1 2 3 4 स्क्रीन पर मुद्रित।

ऐसा इसलिए है क्योंकि आउटपुट को buffered किया जा रहा है, और जब तक आप प्रत्येक print बाद sys.stdout फ्लश नहीं करते हैं, तो आप तुरंत आउटपुट नहीं देख पाएंगे। अंतर देखने के लिए sys.stdout.flush() लाइन से टिप्पणी हटाएं।

python sys

sys.stdout.flush() क्या करता है?




import sys
for x in range(10000):
    print "HAPPY >> %s <<\r" % str(x),
    sys.stdout.flush()



Related


Tags

python   sys