python--单行刷新输出(进度条显示)

python单行刷新输出(进度条显示)
背景:
今天学习了慕课网上,嵩天老师的python文本进度条的课程,课堂代码如下:

import time
scale = 50
print("这里是进度读取区域".center(58,"#"))
start = time.perf_counter()
for i in range(scale+1):
    a = "*" * i
    b = "." * (scale-i)
    c = (i/scale) * 100
    dur = time.perf_counter() - start
    print(("\r"+"#"*2+"{:^3.0f}%[{}->{}]{:.2f}s"+"#"*2).format(c,a,b,dur),end="")
    time.sleep(0.1 )
print("\n"+"这里是进度读取区域".center(58,"#"))

代码不难读懂,主要用到了print使用 \r 进行刷新在行首进行输出,以及 .center 作为居中输出格式的方法。
但是本菜鸟有一个大胆的想法,就是先输出三行文本,大致是这样的:
python--单行刷新输出(进度条显示)_第1张图片
中间有一行是空行;然后再在转到第二行空行出开始打印进度条,结果预期是这样的:
python--单行刷新输出(进度条显示)_第2张图片
思来想去没想到什么方法,希望能有大佬指点一下如何在输出中跳转到上一行输出
ps:
百度到有个帖子讲了用什么API可以操作,但是不太懂,python这么牛逼难道办不到吗~~
python--单行刷新输出(进度条显示)_第3张图片

你可能感兴趣的:(python学习笔记)