स्वीकार किए जाते हैं जवाब नहीं है सही । जो लाइन पहले प्रिंट की गई थी, वह वहीं रहेगी और अगर आपका दूसरा प्रिंट पूरी नई लाइन को कवर नहीं करता है, तो आप कचरा टेक्स्ट के साथ समाप्त हो जाएंगे।
समस्या को समझने के लिए इस कोड को स्क्रिप्ट के रूप में सहेजें और इसे चलाएं (या बस एक नज़र डालें):
import time
n = 100
for i in range(100):
for j in range(100):
print("Progress {:2.1%}".format(j / 100), end="\r")
time.sleep(0.01)
print("Progress {:2.1%}".format(i / 100))
आउटपुट कुछ इस तरह दिखाई देगा:
Progress 0.0%%
Progress 1.0%%
Progress 2.0%%
Progress 3.0%%
स्थायी प्रिंट छोड़ने से पहले लाइन को साफ करने के लिए मेरे लिए क्या काम करता है। अपनी विशिष्ट समस्या के लिए स्वतंत्र महसूस करें:
import time
ERASE_LINE = '\x1b[2K' # erase line command
n = 100
for i in range(100):
for j in range(100):
print("Progress {:2.1%}".format(j / 100), end="\r")
time.sleep(0.01)
print(ERASE_LINE + "Progress {:2.1%}".format(i / 100)) # clear the line first
और अब यह उम्मीद के मुताबिक प्रिंट करता है:
Progress 0.0%
Progress 1.0%
Progress 2.0%
Progress 3.0%