我正在尝试在 Python 中制作一个虚假的引导序列,其中一个元素是进度条。进度条应保持在一行,而不是重复打印多行。一段时间后,我创建了以下代码:
from time import sleep
import random
def progressbar(title, length):
add = 0
strlength = len(title) + 3
barlength = '['
for i in range(length - 1):
barlength = barlength + '.'
barlength = barlength + ']'
progress = title + ': ' + barlength
for i in range(length):
print(progress, end='\r')
append = add + strlength
progress = list(progress)
progress[append] = '#'
progress = str(''.join(progress))
sleep(random.uniform(0.2, 1.0))
add = add + 1
print("Username: TestUserABC, Password: password1")
sleep(1)
print('---[STARTING BOOT SEQUENCE]---')
print(':-Welcome to GMOS (Generic Movie Operating System)-:')
progressbar('Checking Filesystem', 10)
但是,它不会覆盖一行,而是输出:
Username: TestUserABC, Password: password1
---[STARTING BOOT SEQUENCE]---
:-Welcome to GMOS (Generic Movie Operating System)-:
Checking Filesystem: [.........]Checking Filesystem: [#........]Checking Filesystem:
[##.......]Checking Filesystem: [###......]Checking Filesystem: [####.....]Checking Filesystem:
[#####....]Checking Filesystem: [######...]Checking Filesystem: [#######..]Checking Filesystem:
[########.]Checking Filesystem: [#########]
我将不胜感激,因为我不知道是什么原因造成的。为了清楚起见,我在 Windows 10 上,以防万一字符串......操作系统之间的事情不同,我怀疑这种事情。(有人能告诉我像 \n 或 \r 这样的东西叫什么吗?)