से वास्तविक समय प्रिंट बयान प्राप्त करने के लिए मैं एक अजगर स्क्रिप्ट है कि कुछ इस तरह दिखता है:टी का उपयोग अजगर
$ python my.py | tee my_file.txt
हालांकि:
for item in collection:
print "what up"
#do complicated stuff that takes a long time.
बैश में, मैं निम्न कार्य करके इस स्क्रिप्ट को चलाने , प्रोग्राम में खत्म होने तक मैं बैश में देखता हूं एक खाली रेखा है। फिर, सभी प्रिंट स्टेटमेंट सभी एक में आते हैं।
क्या यह टी के अपेक्षित संचालन है? क्या मैं रीयल-टाइम में आउटपुट देखने के लिए टी का उपयोग कर सकता हूं?
इस अजगर के साथ कोई समस्या होने जा रहा है। यह जानबूझकर है। यह बस यह पता लगा रहा है कि आउटपुट टर्मिनल पर नहीं जा रहा है, इसलिए यह बफरिंग है। आपको बफरिंग बंद करना होगा। यह कैसे करें शायद stackexchange.com – Patrick
के लिए बेहतर अनुकूल हो सकता है इससे मदद मिल सकती है: http://unix.stackexchange.com/questions/25372/turn-off-buffering-in-pipe – Ketan
शीर्ष पर "आयात sys '" और प्रिंट स्टेटमेंट के नीचे इंडेंट लाइन पर "sys.stdout.flush()' " – Anthon