Python 进度条显示/Python centor()使用方法

工具:Pycharm

import time
scale = 50
print("开始执行".center(scale//2,"-"))

start = time.perf_counter() # 调用一次 perf_counter(),从计算机系统里随机选一个时间点A,计算其距离当前时间点B1有多少秒。
# 当第二次调用该函数时,默认从第一次调用的时间点A算起,距离当前时间点B2有多少秒。两个函数取差,即实现从时间点B1到B2的计时功能。
for i in range(scale+1):
    a = '*' * i
    b = '-' * (scale-i)
    c = (i/scale)*100
    dur = time.perf_counter() - start    # 计时,计算进度条走到某一百分比的用时
    print("
{:^3.0f}%[{}>{}]{:.2f}s".format(c,a,b,dur),end='')
    # 
用来在每次输出完成后,将光标移至行首,这样保证进度条始终在同一行输出,即在一行不断刷新的效果;
    # {:^3.0f},输出格式为居中,占3位,小数点后0位,浮点型数,对应输出的数为c;{},
   # ^, <, > 分别是居中、左对齐、右对齐,后面带宽度,: 号后面带填充的字符,只能是一个字符,不指定则默认是用空格填充。
    # {:.2f},输出有两位小数的浮点数,对应输出的数为dur;
    # end='',用来保证不换行,不加这句默认换行。
    time.sleep(0.3) # 在输出下一个百分之几的进度前,停止时长
print("
"+"执行结束".center(scale//2,'-'))
View Code

Python center()方法

描述

Python center() 返回一个原字符串居中,并使用空格填充至长度 width 的新字符串。默认填充字符为空格。

语法

center()方法语法:

str.center(width[, fillchar])

参数

  • width -- 字符串的总宽度。
  • fillchar -- 填充字符。

返回值

该方法返回一个原字符串居中,并使用空格填充至长度 width 的新字符串。

实例

以下实例展示了center()方法的实例:

>>>str = 'runoob'
>>> str.center(20, '*')
'*******runoob*******'
>>> str.center(20)
'       runoob       '
>>>

Python中 ' ' 的实际应用

表示将光标的位置回退到本行的开头位置
 表示将光标的位置回退一位

python 语言中, 使用 print 打印输出时,默认是会进行换行的。如何让其不换行呢?

  • python 2.x 中的语法是在 print 语句的末尾添加逗号,例如 print x, ;或者使用 sys.stdout.write() 对标准输出进行重定向,如此文所示 https://segmentfault.com/q/1010000002810865
  • python 3.x 中,print 成为了一个独立的函数,有一个 end 参数,可以指定输出的结束符,默认是

2. 在命令行中实现倒计时功能

import time

count_down = 10  # 设置倒计时时间,单位:秒
for i in range(count_down, 0, -1):
    msg = u"
系统将在 " + str(i) + "秒 内自动退出"
    print(msg, end="")
    time.sleep(1)
end_msg = "结束" + "  "*(len(msg)-len("结束"))  # 如果单纯只用“结束”二字,无法完全覆盖之前的内容
print(u"
"+end_msg)
View Code

3. 在命令行中实现“转圈”功能

import time

count_down = 10  # 设置倒计时时间,单位:秒
interval = 0.25  # 设置屏幕刷新的间隔时间,单位:秒
for i in range(0, int(count_down/interval)):
    ch_list = ["\", "|", "/", "-"]
    index = i % 4
    msg = "
程序运行中 " + ch_list[index]
    print(msg, end="")
    time.sleep(interval)
print(u"
结束" + "  "*len(msg))
View Code
原文地址:https://www.cnblogs.com/bashliuhe/p/12529417.html