मूल रूप से मैं इसके विपरीत करना चाहता हूं कि इस आदमी ने क्या किया ... हेहे।
पाइथन स्क्रिप्ट: मौजूदा लाइन को अपडेट करने के बजाय हर बार नई लाइन प्रिंट करें
मेरा एक कार्यक्रम है जो मुझे बता रहा है कि यह कितना दूर है।
for i in some_list:
#do a bunch of stuff.
print i/len(some_list)*100," percent complete"
तो अगर len (some_list) 50 थी, तो मुझे लगता है कि अंतिम पंक्ति 50 बार से अधिक मुद्रित होगी। मैं एक लाइन प्रिंट करना चाहता हूं और उस लाइन को अपडेट करता रहता हूं। मुझे पता है कि मुझे पता है कि यह शायद सबसे कठिन सवाल है जो आप पूरे दिन पढ़ेंगे। मैं सिर्फ उन चार शब्दों का पता नहीं लगा सकता जो मुझे उत्तर पाने के लिए Google में डालने की आवश्यकता है।
अपडेट करें! मैंने mvds के सुझाव को आज़माया जो सही लगा। नया कोड
print percent_complete," \r",
प्रतिशत पूर्ण सिर्फ एक स्ट्रिंग है (मैं पहली बार सार कर रहा था अब मैं शाब्दिक होने की कोशिश कर रहा हूं)। अब परिणाम यह है कि यह कार्यक्रम चलाता है, कार्यक्रम समाप्त होने तक कुछ भी प्रिंट नहीं करता है, और फिर एक और केवल एक लाइन पर "100 प्रतिशत पूर्ण" प्रिंट करता है।
गाड़ी वापसी के बिना (लेकिन अल्पविराम के साथ, mvds 'सुझाव के आधे) यह अंत तक कुछ भी नहीं छापता है। और फिर प्रिंट:
0 percent complete 2 percent complete 3 percent complete 4 percent complete
और इसी तरह। तो अब नया मुद्दा यह है कि अल्पविराम के साथ यह तब तक प्रिंट नहीं होता है जब तक कि कार्यक्रम समाप्त नहीं हो जाता है।
गाड़ी वापसी के साथ और कोई अल्पविराम के साथ ऐसा ही व्यवहार करता है।
sys.stdout.isatty()
जब आप टर्मिनल में नहीं चल रहे हैं तो इन चीजों को बाहर न थूकें।