Python 如何让进度条保持在一条线上
我想知道如何让这个进度条像游戏或加载屏幕一样只打印一行。每次它都会在新行上反复打印,我不知道如何修复它。您可以在行的开始处使用“\r”(Python 如何让进度条保持在一条线上,python,python-3.x,Python,Python 3.x,我想知道如何让这个进度条像游戏或加载屏幕一样只打印一行。每次它都会在新行上反复打印,我不知道如何修复它。您可以在行的开始处使用“\r”(print(“something”,end=“\r”))而不是Windows上通常的“\r\n”和UNIX上的“\n”来终止行 例如: import time import sys progressbar = [] dashes = 1 spaces = 10 for i in range(11): print("Logging In[", end =
print(“something”,end=“\r”)
)而不是Windows上通常的“\r\n”和UNIX上的“\n”来终止行
例如:
import time
import sys
progressbar = []
dashes = 1
spaces = 10
for i in range(11):
print("Logging In[", end = "")
for x in range(dashes):
dash = "|"
progressbar.append(dash)
print(progressbar[x], end = "")
for y in range(spaces):
print(end = " ")
dashes += 1
spaces -= 1
print("]")
sys.stdout.write()
sys.stdout.flush()
编辑:Yakir Tsuberi发布的链接更完整,不介意我的回答
print(“])
打印一个换行符。您需要打印一个\r
回车符才能返回到同一行的开头。请更正y…的后面的缩进。它将回答您的问题
import time
import sys
dashes = 1
spaces = 10
for i in range(11):
progressbar = ['|' for x in range(dashes)]
print("Logging In [", "|" * dashes, " " * spaces, "]", end="\r")
dashes += 1
spaces -= 1
sys.stdout.flush()
time.sleep(1)