मैं प्रगति पट्टी लिख रहा हूं क्योंकि यह How to animate the command line? सुझाता है। मैं पिचर्म का उपयोग करता हूं और इस फ़ाइल को रन टूल विंडो में चलाता हूं।पायथन 3: प्रिंट (somestring, end = ' r', flush = True) कुछ भी नहीं दिखाता
import time
def show_Remaining_Time(time_delta):
print('Time Remaining: %d' % time_delta, end='\r', flush=True)
if __name__ == '__main__':
count = 0
while True:
show_Remaining_Time(count)
count += 1
time.sleep(1)
हालांकि, अगर मैं यह .py फ़ाइल चलाता हूं तो कोड कुछ भी प्रदर्शित नहीं करता है। मैं क्या गलत कर रहा हूं?
मैंने कोशिश की घुड़दौड़ का सुझाव है लेकिन यह अभी भी काम कर रहा है, तो मैं print
फ़ंक्शन का उपयोग नहीं कर रहा है।
हालांकि निम्न स्क्रिप्ट अपेक्षित के रूप में काम करता है।
क्यों stdout काम करता है लेकिन प्रिंट() नहीं:
import time import sys def show_Remaining_Time(time_delta): sys.stdout.write('\rtime: %d' % time_delta) # Doesn't work if I use 'time: %d\r' sys.stdout.flush() if __name__ == '__main__': count = 0 while True: show_Remaining_Time(count) count += 1 time.sleep(1)
मैं अब 2 प्रश्न हैं।
क्यों How to animate the command line? सुझाव देता है कि
\r
अंत में मुझे अपने मामले में शुरुआत में लिखना है?
इंटरैक्टिव दुभाषिया में मेरे लिए ठीक काम करता है। क्या आप किसी अजीब खोल में किसी भी मौके पर चल रहे हैं, कहें, आईडीईएल खोल? – ShadowRanger
@ShadowRanger मैं इसे पिचर्म रन रन विंडो के साथ चला रहा हूं। अगर मैं 'end =' \ r'' पास नहीं करता हूं तो यह सामान्य के रूप में प्रिंट करता है। लेकिन मैं एक ही पंक्ति को अद्यतन रखना चाहता हूं। – spacegoing
हाँ, PyCharm की रन विंडो सामान्य टर्मिनल नहीं है। यह कैरिज को जिस तरह से आप चाहते हैं उसे वापस नहीं लेता है। एक सामान्य कमांड प्रॉम्प्ट में चलाएं। – ShadowRanger